http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/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 dfbd55b..ef59092 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
@@ -31,9 +31,11 @@ import static org.mockito.Mockito.when;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.TimeZone;
 
 import org.apache.olingo.odata2.api.edm.Edm;
 import org.apache.olingo.odata2.api.edm.EdmConcurrencyMode;
@@ -51,6 +53,7 @@ import org.apache.olingo.odata2.api.exception.ODataException;
 import org.apache.olingo.odata2.api.exception.ODataMessageException;
 import org.apache.olingo.odata2.api.processor.ODataResponse;
 import org.apache.olingo.odata2.api.xml.XMLStreamException;
+import org.apache.olingo.odata2.api.uri.ExpandSelectTreeNode;
 import org.apache.olingo.odata2.core.commons.ContentType;
 import org.apache.olingo.odata2.core.ep.AbstractProviderTest;
 import org.apache.olingo.odata2.core.ep.AtomEntityProvider;
@@ -73,6 +76,250 @@ public class AtomEntryProducerTest extends 
AbstractProviderTest {
   }
 
   @Test
+  public void contentOnly() throws Exception {
+    final EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.serviceRoot(BASE_URI).contentOnly(true).build();
+
+    AtomEntityProvider ser = createAtomEntityProvider();
+    ODataResponse response =
+        
ser.writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees"),
 employeeData,
+            properties);
+    String xmlString = verifyResponse(response);
+    assertXpathExists("/a:entry", xmlString);
+    assertXpathEvaluatesTo(BASE_URI.toASCIIString(), "/a:entry/@xml:base", 
xmlString);
+
+    assertXpathNotExists("/a:entry/a:id", xmlString);
+    assertXpathNotExists("/a:entry/a:title", xmlString);
+    assertXpathNotExists("/a:entry/a:updated", xmlString);
+    assertXpathNotExists("/a:entry/a:category", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Team\"and 
@href=\"Employees('1')/ne_Team\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Room\"and 
@href=\"Employees('1')/ne_Room\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Manager\" and 
@href=\"Employees('1')/ne_Manager\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:content", xmlString);
+
+    assertXpathExists("/a:entry/m:properties", xmlString);
+  }
+
+  @Test
+  public void contentOnlyRoom() throws Exception {
+    EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms");
+    List<String> selectedPropertyNames = new ArrayList<String>();
+    selectedPropertyNames.add("Name");
+    ExpandSelectTreeNode expandSelectTree =
+        
ExpandSelectTreeNode.entitySet(entitySet).selectedProperties(selectedPropertyNames).build();
+    final EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.serviceRoot(BASE_URI).contentOnly(true).expandSelectTree(expandSelectTree)
+            .build();
+
+    Map<String, Object> localRoomData = new HashMap<String, Object>();
+    localRoomData.put("Name", "Neu Schwanstein");
+
+    AtomEntityProvider ser = createAtomEntityProvider();
+    ODataResponse response = ser.writeEntry(entitySet, localRoomData, 
properties);
+    String xmlString = verifyResponse(response);
+    assertXpathExists("/a:entry", xmlString);
+    assertXpathEvaluatesTo(BASE_URI.toASCIIString(), "/a:entry/@xml:base", 
xmlString);
+
+    assertXpathNotExists("/a:entry/a:id", xmlString);
+    assertXpathNotExists("/a:entry/a:title", xmlString);
+    assertXpathNotExists("/a:entry/a:updated", xmlString);
+    assertXpathNotExists("/a:entry/a:category", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"nr_Employees\"and 
@href=\"Rooms('1')/nr_Employees\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"nr_Building\"and 
@href=\"Rooms('1')/nr_Building\"]", xmlString);
+
+    assertXpathExists("/a:entry/a:content/m:properties/d:Name", xmlString);
+  }
+
+  @Test
+  public void contentOnlyRoomSelectedOrExpandedLinksMustBeIgnored() throws 
Exception {
+    EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms");
+    List<String> selectedPropertyNames = new ArrayList<String>();
+    selectedPropertyNames.add("Name");
+    List<String> navigationPropertyNames = new ArrayList<String>();
+    navigationPropertyNames.add("nr_Employees");
+    navigationPropertyNames.add("nr_Building");
+    ExpandSelectTreeNode expandSelectTree =
+        
ExpandSelectTreeNode.entitySet(entitySet).selectedProperties(selectedPropertyNames).expandedLinks(
+            navigationPropertyNames).build();
+    final EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.serviceRoot(BASE_URI).contentOnly(true).expandSelectTree(expandSelectTree)
+            .build();
+
+    Map<String, Object> localRoomData = new HashMap<String, Object>();
+    localRoomData.put("Name", "Neu Schwanstein");
+
+    AtomEntityProvider ser = createAtomEntityProvider();
+    ODataResponse response = ser.writeEntry(entitySet, localRoomData, 
properties);
+    String xmlString = verifyResponse(response);
+    assertXpathExists("/a:entry", xmlString);
+    assertXpathEvaluatesTo(BASE_URI.toASCIIString(), "/a:entry/@xml:base", 
xmlString);
+
+    assertXpathNotExists("/a:entry/a:id", xmlString);
+    assertXpathNotExists("/a:entry/a:title", xmlString);
+    assertXpathNotExists("/a:entry/a:updated", xmlString);
+    assertXpathNotExists("/a:entry/a:category", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"nr_Employees\"and 
@href=\"Rooms('1')/nr_Employees\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"nr_Building\"and 
@href=\"Rooms('1')/nr_Building\"]", xmlString);
+
+    assertXpathExists("/a:entry/a:content/m:properties/d:Name", xmlString);
+  }
+
+  @Test
+  public void contentOnlyRoomWithAdditionalLink() throws Exception {
+    EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms");
+    List<String> selectedPropertyNames = new ArrayList<String>();
+    selectedPropertyNames.add("Name");
+    ExpandSelectTreeNode expandSelectTree =
+        
ExpandSelectTreeNode.entitySet(entitySet).selectedProperties(selectedPropertyNames).build();
+    Map<String, Map<String, Object>> additinalLinks = new HashMap<String, 
Map<String, Object>>();
+    Map<String, Object> buildingLink = new HashMap<String, Object>();
+    buildingLink.put("Id", "1");
+    additinalLinks.put("nr_Building", buildingLink);
+    final EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.serviceRoot(BASE_URI).contentOnly(true).expandSelectTree(expandSelectTree)
+            .additionalLinks(additinalLinks).build();
+
+    Map<String, Object> localRoomData = new HashMap<String, Object>();
+    localRoomData.put("Name", "Neu Schwanstein");
+
+    AtomEntityProvider ser = createAtomEntityProvider();
+    ODataResponse response = ser.writeEntry(entitySet, localRoomData, 
properties);
+    String xmlString = verifyResponse(response);
+    assertXpathExists("/a:entry", xmlString);
+    assertXpathEvaluatesTo(BASE_URI.toASCIIString(), "/a:entry/@xml:base", 
xmlString);
+
+    assertXpathNotExists("/a:entry/a:id", xmlString);
+    assertXpathNotExists("/a:entry/a:title", xmlString);
+    assertXpathNotExists("/a:entry/a:updated", xmlString);
+    assertXpathNotExists("/a:entry/a:category", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"nr_Employees\"and 
@href=\"Rooms('1')/nr_Employees\"]", xmlString);
+
+    assertXpathExists("/a:entry/a:content/m:properties/d:Name", xmlString);
+    assertXpathExists("/a:entry/a:link[@title=\"nr_Building\"and 
@href=\"Buildings('1')\"]", xmlString);
+  }
+
+  @Test
+  public void contentOnlyWithoutKey() throws Exception {
+    EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+    List<String> selectedPropertyNames = new ArrayList<String>();
+    selectedPropertyNames.add("ManagerId");
+    ExpandSelectTreeNode select =
+        
ExpandSelectTreeNode.entitySet(entitySet).selectedProperties(selectedPropertyNames).build();
+
+    final EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.serviceRoot(BASE_URI).contentOnly(true).expandSelectTree(select).build();
+
+    Map<String, Object> localEmployeeData = new HashMap<String, Object>();
+    localEmployeeData.put("ManagerId", "1");
+
+    AtomEntityProvider ser = createAtomEntityProvider();
+    ODataResponse response =
+        ser.writeEntry(entitySet, localEmployeeData,
+            properties);
+    String xmlString = verifyResponse(response);
+    assertXpathExists("/a:entry", xmlString);
+    assertXpathEvaluatesTo(BASE_URI.toASCIIString(), "/a:entry/@xml:base", 
xmlString);
+
+    assertXpathNotExists("/a:entry/a:id", xmlString);
+    assertXpathNotExists("/a:entry/a:title", xmlString);
+    assertXpathNotExists("/a:entry/a:updated", xmlString);
+    assertXpathNotExists("/a:entry/a:category", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Manager\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Team\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Room\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:content", xmlString);
+
+    assertXpathExists("/a:entry/m:properties", xmlString);
+    assertXpathNotExists("/a:entry/m:properties/d:EmployeeId", xmlString);
+    assertXpathExists("/a:entry/m:properties/d:ManagerId", xmlString);
+  }
+
+  @Test
+  public void contentOnlySelectedOrExpandedLinksMustBeIgnored() throws 
Exception {
+    EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+    List<String> selectedPropertyNames = new ArrayList<String>();
+    selectedPropertyNames.add("ManagerId");
+
+    List<String> expandedNavigationNames = new ArrayList<String>();
+    expandedNavigationNames.add("ne_Manager");
+    expandedNavigationNames.add("ne_Team");
+    expandedNavigationNames.add("ne_Room");
+
+    ExpandSelectTreeNode select =
+        
ExpandSelectTreeNode.entitySet(entitySet).selectedProperties(selectedPropertyNames).expandedLinks(
+            expandedNavigationNames).build();
+
+    final EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.serviceRoot(BASE_URI).contentOnly(true).expandSelectTree(select).build();
+
+    Map<String, Object> localEmployeeData = new HashMap<String, Object>();
+    localEmployeeData.put("ManagerId", "1");
+
+    AtomEntityProvider ser = createAtomEntityProvider();
+    ODataResponse response =
+        ser.writeEntry(entitySet, localEmployeeData,
+            properties);
+    String xmlString = verifyResponse(response);
+    assertXpathExists("/a:entry", xmlString);
+    assertXpathEvaluatesTo(BASE_URI.toASCIIString(), "/a:entry/@xml:base", 
xmlString);
+
+    assertXpathNotExists("/a:entry/a:id", xmlString);
+    assertXpathNotExists("/a:entry/a:title", xmlString);
+    assertXpathNotExists("/a:entry/a:updated", xmlString);
+    assertXpathNotExists("/a:entry/a:category", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Manager\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Team\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Room\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:content", xmlString);
+
+    assertXpathExists("/a:entry/m:properties", xmlString);
+    assertXpathNotExists("/a:entry/m:properties/d:EmployeeId", xmlString);
+    assertXpathExists("/a:entry/m:properties/d:ManagerId", xmlString);
+  }
+
+  @Test
+  public void contentOnlyWithAdditinalLink() throws Exception {
+    EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+    List<String> selectedPropertyNames = new ArrayList<String>();
+    selectedPropertyNames.add("ManagerId");
+    ExpandSelectTreeNode select =
+        
ExpandSelectTreeNode.entitySet(entitySet).selectedProperties(selectedPropertyNames).build();
+
+    Map<String, Map<String, Object>> additinalLinks = new HashMap<String, 
Map<String, Object>>();
+    Map<String, Object> managerLink = new HashMap<String, Object>();
+    managerLink.put("EmployeeId", "1");
+    additinalLinks.put("ne_Manager", managerLink);
+    final EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.serviceRoot(BASE_URI).contentOnly(true).expandSelectTree(select).additionalLinks(
+            additinalLinks).build();
+
+    Map<String, Object> localEmployeeData = new HashMap<String, Object>();
+    localEmployeeData.put("ManagerId", "1");
+
+    AtomEntityProvider ser = createAtomEntityProvider();
+    ODataResponse response =
+        ser.writeEntry(entitySet, localEmployeeData,
+            properties);
+    String xmlString = verifyResponse(response);
+    assertXpathExists("/a:entry", xmlString);
+    assertXpathEvaluatesTo(BASE_URI.toASCIIString(), "/a:entry/@xml:base", 
xmlString);
+
+    assertXpathNotExists("/a:entry/a:id", xmlString);
+    assertXpathNotExists("/a:entry/a:title", xmlString);
+    assertXpathNotExists("/a:entry/a:updated", xmlString);
+    assertXpathNotExists("/a:entry/a:category", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Team\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:link[@title=\"ne_Room\"]", xmlString);
+    assertXpathNotExists("/a:entry/a:content", xmlString);
+
+    assertXpathExists("/a:entry/m:properties", xmlString);
+    assertXpathNotExists("/a:entry/m:properties/d:EmployeeId", xmlString);
+    assertXpathExists("/a:entry/m:properties/d:ManagerId", xmlString);
+
+    assertXpathExists("/a:entry/a:link[@href=\"Managers('1')\" and 
@title=\"ne_Manager\"]", xmlString);
+  }
+
+  @Test
   public void noneSyndicationKeepInContentFalseMustNotShowInProperties() 
throws Exception {
     // prepare Mock
     EdmEntitySet employeesSet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
@@ -320,10 +567,34 @@ public class AtomEntryProducerTest extends 
AbstractProviderTest {
   public void serializeAtomMediaResourceWithMimeType() throws IOException, 
XpathException, SAXException,
       XMLStreamException, ODataException {
     AtomEntityProvider ser = createAtomEntityProvider();
-    EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("abc").build();
+    EntityProviderWriteProperties properties = 
EntityProviderWriteProperties.serviceRoot(BASE_URI).build();
+    Map<String, Object> localEmployeeData = new HashMap<String, Object>();
+
+    Calendar date = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
+    date.clear();
+    date.set(1999, 0, 1);
+
+    localEmployeeData.put("EmployeeId", "1");
+    localEmployeeData.put("ImmageUrl", null);
+    localEmployeeData.put("ManagerId", "1");
+    localEmployeeData.put("Age", new Integer(52));
+    localEmployeeData.put("RoomId", "1");
+    localEmployeeData.put("EntryDate", date);
+    localEmployeeData.put("TeamId", "42");
+    localEmployeeData.put("EmployeeName", "Walter Winter");
+    localEmployeeData.put("getImageType", "abc");
+
+    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");
+
+    localEmployeeData.put("Location", locationData);
     ODataResponse response =
-        
ser.writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees"),
 employeeData,
+        
ser.writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees"),
+            localEmployeeData,
             properties);
     String xmlString = verifyResponse(response);
 
@@ -367,10 +638,34 @@ public class AtomEntryProducerTest extends 
AbstractProviderTest {
   public void serializeEmployeeAndCheckOrderOfTags() throws IOException, 
XpathException, SAXException,
       XMLStreamException, ODataException {
     AtomEntityProvider ser = createAtomEntityProvider();
-    EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("abc").build();
+    EntityProviderWriteProperties properties = 
EntityProviderWriteProperties.serviceRoot(BASE_URI).build();
+    Map<String, Object> localEmployeeData = new HashMap<String, Object>();
+
+    Calendar date = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
+    date.clear();
+    date.set(1999, 0, 1);
+
+    localEmployeeData.put("EmployeeId", "1");
+    localEmployeeData.put("ImmageUrl", null);
+    localEmployeeData.put("ManagerId", "1");
+    localEmployeeData.put("Age", new Integer(52));
+    localEmployeeData.put("RoomId", "1");
+    localEmployeeData.put("EntryDate", date);
+    localEmployeeData.put("TeamId", "42");
+    localEmployeeData.put("EmployeeName", "Walter Winter");
+    localEmployeeData.put("getImageType", "abc");
+
+    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");
+
+    localEmployeeData.put("Location", locationData);
     ODataResponse response =
-        
ser.writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees"),
 employeeData,
+        
ser.writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees"),
+            localEmployeeData,
             properties);
     String xmlString = verifyResponse(response);
 
@@ -402,7 +697,7 @@ public class AtomEntryProducerTest extends 
AbstractProviderTest {
       XMLStreamException, ODataException {
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("abc").build();
+        EntityProviderWriteProperties.serviceRoot(BASE_URI).build();
     EdmEntitySet employeeEntitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
     ODataResponse response = ser.writeEntry(employeeEntitySet, employeeData, 
properties);
     String xmlString = verifyResponse(response);
@@ -425,7 +720,7 @@ public class AtomEntryProducerTest extends 
AbstractProviderTest {
       XMLStreamException, ODataException {
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("abc").build();
+        EntityProviderWriteProperties.serviceRoot(BASE_URI).build();
     EdmEntitySet employeeEntitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
 
     // set "keepInContent" to false for EntryDate
@@ -779,7 +1074,6 @@ public class AtomEntryProducerTest extends 
AbstractProviderTest {
     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);
 
@@ -837,25 +1131,25 @@ 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);
-  }
+//  @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/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomFeedProducerTest.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomFeedProducerTest.java
 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomFeedProducerTest.java
index 6608558..37432dd 100644
--- 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomFeedProducerTest.java
+++ 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomFeedProducerTest.java
@@ -84,7 +84,7 @@ public class AtomFeedProducerTest extends 
AbstractProviderTest {
   public void testFeedNamespaces() throws Exception {
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("mediatype").build();
+        EntityProviderWriteProperties.serviceRoot(BASE_URI).build();
     ODataResponse response = ser.writeFeed(view.getTargetEntitySet(), 
roomsData, properties);
     String xmlString = verifyResponse(response);
 
@@ -96,7 +96,7 @@ public class AtomFeedProducerTest extends 
AbstractProviderTest {
   public void testSelfLink() throws Exception {
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("mediatype").build();
+        EntityProviderWriteProperties.serviceRoot(BASE_URI).build();
     ODataResponse response = ser.writeFeed(view.getTargetEntitySet(), 
roomsData, properties);
     String xmlString = verifyResponse(response);
 
@@ -110,7 +110,7 @@ public class AtomFeedProducerTest extends 
AbstractProviderTest {
     String customLink = "Test";
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("mediatype").selfLink(
+        EntityProviderWriteProperties.serviceRoot(BASE_URI).selfLink(
             new URI(customLink)).build();
     ODataResponse response = ser.writeFeed(view.getTargetEntitySet(), 
roomsData, properties);
     String xmlString = verifyResponse(response);
@@ -124,7 +124,7 @@ public class AtomFeedProducerTest extends 
AbstractProviderTest {
   public void testFeedMandatoryParts() throws Exception {
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("mediatype").build();
+        EntityProviderWriteProperties.serviceRoot(BASE_URI).build();
     ODataResponse response = ser.writeFeed(view.getTargetEntitySet(), 
roomsData, properties);
     String xmlString = verifyResponse(response);
 
@@ -153,7 +153,6 @@ public class AtomFeedProducerTest extends 
AbstractProviderTest {
 
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties = 
EntityProviderWriteProperties.serviceRoot(BASE_URI)
-        .mediaResourceMimeType("mediatype")
         .inlineCount(Integer.valueOf(103))
         .inlineCountType(InlineCount.ALLPAGES)
         .build();
@@ -170,7 +169,7 @@ public class AtomFeedProducerTest extends 
AbstractProviderTest {
 
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("mediatype").build();
+        EntityProviderWriteProperties.serviceRoot(BASE_URI).build();
     ODataResponse response = ser.writeFeed(view.getTargetEntitySet(), 
roomsData, properties);
     String xmlString = verifyResponse(response);
 
@@ -183,7 +182,6 @@ public class AtomFeedProducerTest extends 
AbstractProviderTest {
 
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties = 
EntityProviderWriteProperties.serviceRoot(BASE_URI)
-        .mediaResourceMimeType("mediatype")
         .nextLink("http://thisisanextlink";)
         .build();
     ODataResponse response = ser.writeFeed(view.getTargetEntitySet(), 
roomsData, properties);
@@ -197,7 +195,7 @@ public class AtomFeedProducerTest extends 
AbstractProviderTest {
   public void testInlineCountInvalid() throws Exception {
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("mediatype").inlineCountType(
+        EntityProviderWriteProperties.serviceRoot(BASE_URI).inlineCountType(
             InlineCount.ALLPAGES).build();
     ser.writeFeed(view.getTargetEntitySet(), roomsData, properties);
   }
@@ -208,7 +206,7 @@ public class AtomFeedProducerTest extends 
AbstractProviderTest {
 
     AtomEntityProvider ser = createAtomEntityProvider();
     EntityProviderWriteProperties properties =
-        
EntityProviderWriteProperties.serviceRoot(BASE_URI).mediaResourceMimeType("mediatype").build();
+        EntityProviderWriteProperties.serviceRoot(BASE_URI).build();
     ODataResponse response = ser.writeFeed(view.getTargetEntitySet(), 
roomsData, properties);
     String xmlString = verifyResponse(response);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/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 8efd99a..7052fb0 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
@@ -87,6 +87,163 @@ public class JsonEntryEntityProducerTest extends BaseTest {
         json);
   }
 
+  @SuppressWarnings("unchecked")
+  @Test
+  public void contentOnly() throws Exception {
+    HashMap<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);
+
+    final EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+    EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).omitJsonWrapper(true).contentOnly(true)
+            .build();
+    final ODataResponse response = new 
JsonEntityProvider().writeEntry(entitySet, employeeData, properties);
+    Map<String, Object> employee =
+        (Map<String, Object>) new Gson().fromJson(new 
InputStreamReader((InputStream) response.getEntity()), Map.class);
+    assertNull(employee.get("__metadata"));
+    assertNull(employee.get("ne_Manager"));
+    assertNull(employee.get("ne_Team"));
+    assertNull(employee.get("ne_Room"));
+  }
+
+  @SuppressWarnings("unchecked")
+  @Test
+  public void contentOnlyWithoutKey() throws Exception {
+    HashMap<String, Object> employeeData = new HashMap<String, Object>();
+    employeeData.put("ManagerId", "1");
+    employeeData.put("Age", new Integer(52));
+    employeeData.put("RoomId", "1");
+    employeeData.put("TeamId", "42");
+
+    List<String> selectedProperties = new ArrayList<String>();
+    selectedProperties.add("ManagerId");
+    selectedProperties.add("Age");
+    selectedProperties.add("RoomId");
+    selectedProperties.add("TeamId");
+    final EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+
+    ExpandSelectTreeNode expandSelectTreeNode =
+        
ExpandSelectTreeNode.entitySet(entitySet).selectedProperties(selectedProperties).build();
+    EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).omitJsonWrapper(true).contentOnly(true)
+            .expandSelectTree(expandSelectTreeNode).build();
+    final ODataResponse response = new 
JsonEntityProvider().writeEntry(entitySet, employeeData, properties);
+    Map<String, Object> employee =
+        (Map<String, Object>) new Gson().fromJson(new 
InputStreamReader((InputStream) response.getEntity()), Map.class);
+    assertNull(employee.get("__metadata"));
+    assertNull(employee.get("ne_Manager"));
+    assertNull(employee.get("ne_Team"));
+    assertNull(employee.get("ne_Room"));
+
+    assertEquals("1", employee.get("ManagerId"));
+    assertEquals("1", employee.get("RoomId"));
+    assertEquals("42", employee.get("TeamId"));
+    assertEquals(new Double(52), employee.get("Age"));
+  }
+
+  @SuppressWarnings("unchecked")
+  @Test
+  public void contentOnlySelectedOrExpandedLinksMustBeIgnored() throws 
Exception {
+    final EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+
+    HashMap<String, Object> employeeData = new HashMap<String, Object>();
+    employeeData.put("ManagerId", "1");
+
+    List<String> selectedProperties = new ArrayList<String>();
+    selectedProperties.add("ManagerId");
+
+    List<String> expandedLinks = new ArrayList<String>();
+    expandedLinks.add("ne_Manager");
+    expandedLinks.add("ne_Team");
+    expandedLinks.add("ne_Room");
+
+    ExpandSelectTreeNode expandSelectTreeNode =
+        
ExpandSelectTreeNode.entitySet(entitySet).selectedProperties(selectedProperties).expandedLinks(expandedLinks)
+            .build();
+    EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).omitJsonWrapper(true).contentOnly(true)
+            .expandSelectTree(expandSelectTreeNode).build();
+    final ODataResponse response = new 
JsonEntityProvider().writeEntry(entitySet, employeeData, properties);
+    Map<String, Object> employee =
+        (Map<String, Object>) new Gson().fromJson(new 
InputStreamReader((InputStream) response.getEntity()), Map.class);
+    assertNull(employee.get("__metadata"));
+    assertNull(employee.get("ne_Manager"));
+    assertNull(employee.get("ne_Team"));
+    assertNull(employee.get("ne_Room"));
+
+    assertEquals("1", employee.get("ManagerId"));
+  }
+
+  @SuppressWarnings("unchecked")
+  @Test
+  public void contentOnlyWithAdditinalLink() throws Exception {
+    final EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+    HashMap<String, Object> employeeData = new HashMap<String, Object>();
+    employeeData.put("ManagerId", "1");
+
+    List<String> selectedProperties = new ArrayList<String>();
+    selectedProperties.add("ManagerId");
+
+    ExpandSelectTreeNode expandSelectTreeNode =
+        
ExpandSelectTreeNode.entitySet(entitySet).selectedProperties(selectedProperties).build();
+
+    Map<String, Map<String, Object>> additinalLinks = new HashMap<String, 
Map<String, Object>>();
+    Map<String, Object> managerLink = new HashMap<String, Object>();
+    managerLink.put("EmployeeId", "1");
+    additinalLinks.put("ne_Manager", managerLink);
+
+    EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).omitJsonWrapper(true).contentOnly(true)
+            
.expandSelectTree(expandSelectTreeNode).additionalLinks(additinalLinks).build();
+    final ODataResponse response = new 
JsonEntityProvider().writeEntry(entitySet, employeeData, properties);
+    // System.out.println(StringHelper.inputStreamToString((InputStream) 
response.getEntity()));
+    Map<String, Object> employee =
+        (Map<String, Object>) new Gson().fromJson(new 
InputStreamReader((InputStream) response.getEntity()), Map.class);
+    assertNull(employee.get("__metadata"));
+    assertNull(employee.get("ne_Team"));
+    assertNull(employee.get("ne_Room"));
+
+    assertEquals("1", employee.get("ManagerId"));
+    Map<String, Object> map = (Map<String, Object>) employee.get("ne_Manager");
+    map = (Map<String, Object>) map.get("__deferred");
+    assertEquals("http://host:80/service/Managers('1')", map.get("uri"));
+  }
+
+  @Test
+  public void omitJsonWrapper() throws Exception {
+    final EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Teams");
+    Map<String, Object> teamData = new HashMap<String, Object>();
+    teamData.put("Id", "1");
+    teamData.put("isScrumTeam", true);
+
+    EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).omitJsonWrapper(true).build();
+    final ODataResponse response = new 
JsonEntityProvider().writeEntry(entitySet, teamData, properties);
+    final String json = verifyResponse(response);
+    assertEquals("{\"__metadata\":{\"id\":\"" + BASE_URI + "Teams('1')\","
+        + "\"uri\":\"" + BASE_URI + 
"Teams('1')\",\"type\":\"RefScenario.Team\"},"
+        + "\"Id\":\"1\",\"Name\":null,\"isScrumTeam\":true,"
+        + "\"nt_Employees\":{\"__deferred\":{\"uri\":\"" + BASE_URI + 
"Teams('1')/nt_Employees\"}}}",
+        json);
+  }
+
   @Test(expected = EntityProviderException.class)
   public void entryWithNullData() throws Exception {
     final EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Teams");
@@ -611,7 +768,6 @@ public class JsonEntryEntityProducerTest extends BaseTest {
     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);
@@ -689,53 +845,53 @@ public class JsonEntryEntityProducerTest extends BaseTest 
{
     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"));
-  }
+//  @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"));
+//  }
 
   @Test
   public void additionalLink() throws Exception {

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/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 a2195ae..418dc8a 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
@@ -79,6 +79,39 @@ public class JsonFeedEntityProducerTest extends BaseTest {
   }
 
   @Test
+  public void omitJsonWrapperMustHaveNoEffect() throws Exception {
+    final EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Teams");
+    Map<String, Object> team1Data = new HashMap<String, Object>();
+    team1Data.put("Id", "1");
+    team1Data.put("isScrumTeam", true);
+    Map<String, Object> team2Data = new HashMap<String, Object>();
+    team2Data.put("Id", "2");
+    team2Data.put("isScrumTeam", false);
+    List<Map<String, Object>> teamsData = new ArrayList<Map<String, Object>>();
+    teamsData.add(team1Data);
+    teamsData.add(team2Data);
+
+    EntityProviderWriteProperties properties =
+        
EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).omitJsonWrapper(true).build();
+    final ODataResponse response = new 
JsonEntityProvider().writeFeed(entitySet, teamsData, properties);
+    assertNotNull(response);
+    assertNotNull(response.getEntity());
+    assertNull("EntitypProvider must not set content header", 
response.getContentHeader());
+
+    final String json = StringHelper.inputStreamToString((InputStream) 
response.getEntity());
+    assertNotNull(json);
+    assertEquals("{\"d\":{\"results\":[{\"__metadata\":{\"id\":\"" + BASE_URI 
+ "Teams('1')\","
+        + "\"uri\":\"" + BASE_URI + 
"Teams('1')\",\"type\":\"RefScenario.Team\"},"
+        + "\"Id\":\"1\",\"Name\":null,\"isScrumTeam\":true,"
+        + "\"nt_Employees\":{\"__deferred\":{\"uri\":\"" + BASE_URI + 
"Teams('1')/nt_Employees\"}}},"
+        + "{\"__metadata\":{\"id\":\"" + BASE_URI + "Teams('2')\","
+        + "\"uri\":\"" + BASE_URI + 
"Teams('2')\",\"type\":\"RefScenario.Team\"},"
+        + "\"Id\":\"2\",\"Name\":null,\"isScrumTeam\":false,"
+        + "\"nt_Employees\":{\"__deferred\":{\"uri\":\"" + BASE_URI + 
"Teams('2')/nt_Employees\"}}}]}}",
+        json);
+  }
+
+  @Test
   public void inlineCount() throws Exception {
     final EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Buildings");
     final ODataResponse response = new 
JsonEntityProvider().writeFeed(entitySet, new ArrayList<Map<String, Object>>(),

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/rest/ODataExceptionMapperImplTest.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/rest/ODataExceptionMapperImplTest.java
 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/rest/ODataExceptionMapperImplTest.java
index 64e8cb2..74da93c 100644
--- 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/rest/ODataExceptionMapperImplTest.java
+++ 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/rest/ODataExceptionMapperImplTest.java
@@ -36,7 +36,7 @@ import java.util.Map;
 
 import javax.servlet.ServletConfig;
 import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.NotAllowedException;
+import javax.ws.rs.ClientErrorException;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MultivaluedHashMap;
 import javax.ws.rs.core.MultivaluedMap;
@@ -370,7 +370,7 @@ public class ODataExceptionMapperImplTest extends BaseTest {
     // prepare
     String message = "The request dispatcher does not allow the HTTP method 
used for the request.";
     Exception exception =
-        new 
NotAllowedException(Response.status(Response.Status.METHOD_NOT_ALLOWED).header(HttpHeaders.ALLOW,
 "GET")
+        new 
ClientErrorException(Response.status(Response.Status.METHOD_NOT_ALLOWED).header(HttpHeaders.ALLOW,
 "GET")
             .build());
 
     // execute

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/servlet/ODataServletTest.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/servlet/ODataServletTest.java
 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/servlet/ODataServletTest.java
new file mode 100644
index 0000000..1c74fc0
--- /dev/null
+++ 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/servlet/ODataServletTest.java
@@ -0,0 +1,114 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ 
******************************************************************************/
+package org.apache.olingo.odata2.core.servlet;
+
+import java.lang.reflect.Field;
+
+import javax.servlet.GenericServlet;
+import javax.servlet.ServletConfig;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.olingo.odata2.api.ODataServiceFactory;
+import org.apache.olingo.odata2.api.commons.HttpHeaders;
+import org.apache.olingo.odata2.api.commons.HttpStatusCodes;
+import org.apache.olingo.odata2.core.rest.ODataServiceFactoryImpl;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+/**
+ *
+ */
+public class ODataServletTest {
+
+  private HttpServletRequest reqMock;
+  private HttpServletResponse respMock;
+  private ServletConfig configMock;
+
+  public ODataServletTest() {
+    reqMock = Mockito.mock(HttpServletRequest.class);
+    respMock = Mockito.mock(HttpServletResponse.class);
+    configMock = Mockito.mock(ServletConfig.class);
+  }
+
+  @Test
+  public void handleRedirect() throws Exception {
+    ODataServlet servlet = new ODataServlet();
+    prepareServlet(servlet);
+    prepareRequest(reqMock);
+    servlet.service(reqMock, respMock);
+
+    
Mockito.verify(respMock).setStatus(HttpStatusCodes.TEMPORARY_REDIRECT.getStatusCode());
+    Mockito.verify(respMock).setHeader(HttpHeaders.LOCATION, 
"/context-path/servlet-path/");
+  }
+
+  @Test
+  public void handleRedirectWoServletPath() throws Exception {
+    ODataServlet servlet = new ODataServlet();
+    prepareServlet(servlet);
+    prepareRequest(reqMock, "/context-path", null);
+    servlet.service(reqMock, respMock);
+
+    
Mockito.verify(respMock).setStatus(HttpStatusCodes.TEMPORARY_REDIRECT.getStatusCode());
+    Mockito.verify(respMock).setHeader(HttpHeaders.LOCATION, "/context-path/");
+  }
+
+  @Test
+  public void handleRedirectWoContextPath() throws Exception {
+    ODataServlet servlet = new ODataServlet();
+    prepareServlet(servlet);
+    prepareRequest(reqMock, null, "/servlet-path");
+    servlet.service(reqMock, respMock);
+
+    
Mockito.verify(respMock).setStatus(HttpStatusCodes.TEMPORARY_REDIRECT.getStatusCode());
+    Mockito.verify(respMock).setHeader(HttpHeaders.LOCATION, "/servlet-path/");
+  }
+
+  @Test
+  public void handleRedirectWoPath() throws Exception {
+    ODataServlet servlet = new ODataServlet();
+    prepareServlet(servlet);
+    prepareRequest(reqMock, null, null);
+    servlet.service(reqMock, respMock);
+
+    
Mockito.verify(respMock).setStatus(HttpStatusCodes.TEMPORARY_REDIRECT.getStatusCode());
+    Mockito.verify(respMock).setHeader(HttpHeaders.LOCATION, "/");
+  }
+
+  private void prepareRequest(final HttpServletRequest req, final String 
contextPath, final String servletPath) {
+    Mockito.when(req.getMethod()).thenReturn("GET");
+    Mockito.when(req.getContextPath()).thenReturn(contextPath);
+    Mockito.when(req.getServletPath()).thenReturn(servletPath);
+  }
+
+  private void prepareRequest(final HttpServletRequest req) {
+    prepareRequest(req, "/context-path", "/servlet-path");
+  }
+
+  private void prepareServlet(final GenericServlet servlet) throws Exception {
+    // private transient ServletConfig config;
+    Field configField = GenericServlet.class.getDeclaredField("config");
+    configField.setAccessible(true);
+    configField.set(servlet, configMock);
+
+    String factoryClassName = ODataServiceFactoryImpl.class.getName();
+    
Mockito.when(configMock.getInitParameter(ODataServiceFactory.FACTORY_LABEL)).thenReturn(factoryClassName);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/EmployeeContentOnly.xml
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/resources/EmployeeContentOnly.xml 
b/odata2-lib/odata-core/src/test/resources/EmployeeContentOnly.xml
new file mode 100644
index 0000000..161b730
--- /dev/null
+++ b/odata2-lib/odata-core/src/test/resources/EmployeeContentOnly.xml
@@ -0,0 +1,37 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+  
+           http://www.apache.org/licenses/LICENSE-2.0
+  
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+-->
+<entry xmlns="http://www.w3.org/2005/Atom"; 
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"; 
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"; 
xml:base="http://host:8080/ReferenceScenario.svc/";>
+       <m:properties>
+               <d:EmployeeId>1</d:EmployeeId>
+               <d:EmployeeName>Walter Winter</d:EmployeeName>
+               <d:ManagerId>1</d:ManagerId>
+               <d:RoomId>1</d:RoomId>
+               <d:TeamId>1</d:TeamId>
+               <d:Location m:type="RefScenario.c_Location">
+                       <d:City m:type="RefScenario.c_City">
+                               <d:PostalCode>69124</d:PostalCode>
+                               <d:CityName>Heidelberg</d:CityName>
+                       </d:City>
+                       <d:Country>Germany</d:Country>
+               </d:Location>
+               <d:Age>52</d:Age>
+               <d:EntryDate>1999-01-01T00:00:00</d:EntryDate>
+               <d:ImageUrl>Employees('1')/$value</d:ImageUrl>
+       </m:properties>
+</entry>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/EmployeeContentOnlyWithAdditionalLink.xml
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/resources/EmployeeContentOnlyWithAdditionalLink.xml
 
b/odata2-lib/odata-core/src/test/resources/EmployeeContentOnlyWithAdditionalLink.xml
new file mode 100644
index 0000000..dfa1b95
--- /dev/null
+++ 
b/odata2-lib/odata-core/src/test/resources/EmployeeContentOnlyWithAdditionalLink.xml
@@ -0,0 +1,38 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+  
+           http://www.apache.org/licenses/LICENSE-2.0
+  
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+-->
+<entry xmlns="http://www.w3.org/2005/Atom"; 
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"; 
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"; 
xml:base="http://host:8080/ReferenceScenario.svc/";>
+       <link href="Managers('1')" 
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ne_Manager"; 
title="ne_Manager" type="application/atom+xml;type=entry"/>
+       <m:properties>
+               <d:EmployeeId>1</d:EmployeeId>
+               <d:EmployeeName>Walter Winter</d:EmployeeName>
+               <d:ManagerId>1</d:ManagerId>
+               <d:RoomId>1</d:RoomId>
+               <d:TeamId>1</d:TeamId>
+               <d:Location m:type="RefScenario.c_Location">
+                       <d:City m:type="RefScenario.c_City">
+                               <d:PostalCode>69124</d:PostalCode>
+                               <d:CityName>Heidelberg</d:CityName>
+                       </d:City>
+                       <d:Country>Germany</d:Country>
+               </d:Location>
+               <d:Age>52</d:Age>
+               <d:EntryDate>1999-01-01T00:00:00</d:EntryDate>
+               <d:ImageUrl>Employees('1')/$value</d:ImageUrl>
+       </m:properties>
+</entry>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/JsonEmployeeContentOnly.json
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/resources/JsonEmployeeContentOnly.json 
b/odata2-lib/odata-core/src/test/resources/JsonEmployeeContentOnly.json
new file mode 100644
index 0000000..9352a29
--- /dev/null
+++ b/odata2-lib/odata-core/src/test/resources/JsonEmployeeContentOnly.json
@@ -0,0 +1,25 @@
+{
+       "d" : {
+               "EmployeeId" : "1",
+               "EmployeeName" : "Walter Winter",
+               "ManagerId" : "1",
+               "RoomId" : "1",
+               "TeamId" : "1",
+               "Location" : {
+                       "__metadata" : {
+                               "type" : "RefScenario.c_Location"
+                       },
+                       "City" : {
+                               "__metadata" : {
+                                       "type" : "RefScenario.c_City"
+                               },
+                               "PostalCode" : "69124",
+                               "CityName" : "Heidelberg"
+                       },
+                       "Country" : "Germany"
+               },
+               "Age" : 52,
+               "EntryDate" : "\/Date(915148800000)\/",
+               "ImageUrl" : "Employees('1')/$value"
+       }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/JsonEmployeeContentOnlyWithAdditionalLink.json
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/resources/JsonEmployeeContentOnlyWithAdditionalLink.json
 
b/odata2-lib/odata-core/src/test/resources/JsonEmployeeContentOnlyWithAdditionalLink.json
new file mode 100644
index 0000000..fb90c14
--- /dev/null
+++ 
b/odata2-lib/odata-core/src/test/resources/JsonEmployeeContentOnlyWithAdditionalLink.json
@@ -0,0 +1,30 @@
+{
+       "d" : {
+               "EmployeeId" : "1",
+               "EmployeeName" : "Walter Winter",
+               "ManagerId" : "1",
+               "RoomId" : "1",
+               "TeamId" : "1",
+               "Location" : {
+                       "__metadata" : {
+                               "type" : "RefScenario.c_Location"
+                       },
+                       "City" : {
+                               "__metadata" : {
+                                       "type" : "RefScenario.c_City"
+                               },
+                               "PostalCode" : "69124",
+                               "CityName" : "Heidelberg"
+                       },
+                       "Country" : "Germany"
+               },
+               "Age" : 52,
+               "EntryDate" : "\/Date(915148800000)\/",
+               "ImageUrl" : "Employees('1')/$value",
+               "ne_Manager" : {
+                       "__deferred" : {
+                               "uri" : 
"http://host:8080/ReferenceScenario.svc/Managers('1')"
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/JsonRoom.json
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/resources/JsonRoom.json 
b/odata2-lib/odata-core/src/test/resources/JsonRoom.json
new file mode 100644
index 0000000..806aef2
--- /dev/null
+++ b/odata2-lib/odata-core/src/test/resources/JsonRoom.json
@@ -0,0 +1,24 @@
+{
+       "d" : {
+               "__metadata" : {
+                       "id" : 
"http://localhost:8080/ReferenceScenario.svc/Rooms('1')",
+                       "uri" : 
"http://localhost:8080/ReferenceScenario.svc/Rooms('1')",
+                       "type" : "RefScenario.Room",
+                       "etag" : "W/\"1\""
+               },
+               "Id" : "1",
+               "Name" : "Room 1",
+               "Seats" : 1,
+               "Version" : 1,
+               "nr_Employees" : {
+                       "__deferred" : {
+                               "uri" : 
"http://localhost:8080/ReferenceScenario.svc/Rooms('1')/nr_Employees"
+                       }
+               },
+               "nr_Building" : {
+                       "__deferred" : {
+                               "uri" : 
"http://localhost:8080/ReferenceScenario.svc/Rooms('1')/nr_Building"
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/JsonRoomContentOnly.json
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/resources/JsonRoomContentOnly.json 
b/odata2-lib/odata-core/src/test/resources/JsonRoomContentOnly.json
new file mode 100644
index 0000000..f8c741a
--- /dev/null
+++ b/odata2-lib/odata-core/src/test/resources/JsonRoomContentOnly.json
@@ -0,0 +1,8 @@
+{
+       "d" : {
+               "Id" : "1",
+               "Name" : "Room 1",
+               "Seats" : 1,
+               "Version" : 1
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/JsonRoomContentOnlyWithAdditionalLink.json
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/resources/JsonRoomContentOnlyWithAdditionalLink.json
 
b/odata2-lib/odata-core/src/test/resources/JsonRoomContentOnlyWithAdditionalLink.json
new file mode 100644
index 0000000..7a511b6
--- /dev/null
+++ 
b/odata2-lib/odata-core/src/test/resources/JsonRoomContentOnlyWithAdditionalLink.json
@@ -0,0 +1,13 @@
+{
+       "d" : {
+               "Id" : "1",
+               "Name" : "Room 1",
+               "Seats" : 1,
+               "Version" : 1,
+               "nr_Building" : {
+                       "__deferred" : {
+                               "uri" : 
"http://host:8080/ReferenceScenario.svc/Buildings('1')"
+                       }
+               }
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/RoomContentOnly.xml
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/resources/RoomContentOnly.xml 
b/odata2-lib/odata-core/src/test/resources/RoomContentOnly.xml
new file mode 100644
index 0000000..558e713
--- /dev/null
+++ b/odata2-lib/odata-core/src/test/resources/RoomContentOnly.xml
@@ -0,0 +1,28 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+  
+           http://www.apache.org/licenses/LICENSE-2.0
+  
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+-->
+<entry xmlns="http://www.w3.org/2005/Atom"; 
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"; 
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"; 
xml:base="http://host:8080/ReferenceScenario.svc/"; m:etag="W/&quot;1&quot;">
+       <content type="application/xml">
+               <m:properties>
+                       <d:Id>1</d:Id>
+                       <d:Name>Room 1</d:Name>
+                       <d:Seats>1</d:Seats>
+                       <d:Version>1</d:Version>
+               </m:properties>
+       </content>
+</entry>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/RoomContentOnlyWithAdditionalLink.xml
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/resources/RoomContentOnlyWithAdditionalLink.xml
 
b/odata2-lib/odata-core/src/test/resources/RoomContentOnlyWithAdditionalLink.xml
new file mode 100644
index 0000000..a7d039e
--- /dev/null
+++ 
b/odata2-lib/odata-core/src/test/resources/RoomContentOnlyWithAdditionalLink.xml
@@ -0,0 +1,29 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+  
+           http://www.apache.org/licenses/LICENSE-2.0
+  
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+-->
+<entry xmlns="http://www.w3.org/2005/Atom"; 
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"; 
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"; 
xml:base="http://host:8080/ReferenceScenario.svc/"; m:etag="W/&quot;1&quot;">
+       <link href="Buildings('1')" 
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/nr_Building"; 
title="nr_Building" type="application/atom+xml;type=entry"/>
+       <content type="application/xml">
+               <m:properties>
+                       <d:Id>1</d:Id>
+                       <d:Name>Room 1</d:Name>
+                       <d:Seats>1</d:Seats>
+                       <d:Version>1</d:Version>
+               </m:properties>
+       </content>
+</entry>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-core/src/test/resources/feed_rooms_small.xml
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/resources/feed_rooms_small.xml 
b/odata2-lib/odata-core/src/test/resources/feed_rooms_small.xml
new file mode 100644
index 0000000..b7b5057
--- /dev/null
+++ b/odata2-lib/odata-core/src/test/resources/feed_rooms_small.xml
@@ -0,0 +1,69 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file 
+    distributed with this work for additional information regarding copyright 
ownership. The ASF licenses this file to you under 
+    the Apache License, Version 2.0 (the "License"); you may not use this file 
except in compliance with the License. You may 
+    obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
Unless required by applicable law or agreed to 
+    in writing, software distributed under the License is distributed on an 
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 
+    ANY KIND, either express or implied. See the License for the specific 
language governing permissions and limitations under 
+    the License. -->
+<feed xmlns="http://www.w3.org/2005/Atom"; 
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"; 
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"; 
xml:base="http://localhost:8080/ReferenceScenario.svc/";>
+       <id>http://localhost:8080/ReferenceScenario.svc/Rooms</id>
+       <title type="text">Rooms</title>
+       <updated>2014-05-08T13:06:23Z</updated>
+       <author>
+               <name/>
+       </author>
+       <link href="Rooms" rel="self" title="Rooms"/>
+       <entry m:etag="W/&quot;1&quot;">
+               <id>http://localhost:8080/ReferenceScenario.svc/Rooms('1')</id>
+               <title type="text">Room 1</title>
+               <updated>2014-05-08T13:06:23Z</updated>
+               <category term="RefScenario.Room" 
scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
+               <link href="Rooms('1')" rel="edit" title="Room"/>
+               <link href="Rooms('1')/nr_Employees" 
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/nr_Employees";
 title="nr_Employees" type="application/atom+xml;type=feed"/>
+               <link href="Rooms('1')/nr_Building" 
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/nr_Building"; 
title="nr_Building" type="application/atom+xml;type=entry"/>
+               <content type="application/xml">
+                       <m:properties>
+                               <d:Id>1</d:Id>
+                               <d:Name>Room 1</d:Name>
+                               <d:Seats>1</d:Seats>
+                               <d:Version>1</d:Version>
+                       </m:properties>
+               </content>
+       </entry>
+       <entry m:etag="W/&quot;1&quot;">
+               <id>http://localhost:8080/ReferenceScenario.svc/Rooms('10')</id>
+               <title type="text">Room 10</title>
+               <updated>2014-05-08T13:06:23Z</updated>
+               <category term="RefScenario.Room" 
scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
+               <link href="Rooms('10')" rel="edit" title="Room"/>
+               <link href="Rooms('10')/nr_Employees" 
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/nr_Employees";
 title="nr_Employees" type="application/atom+xml;type=feed"/>
+               <link href="Rooms('10')/nr_Building" 
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/nr_Building"; 
title="nr_Building" type="application/atom+xml;type=entry"/>
+               <content type="application/xml">
+                       <m:properties>
+                               <d:Id>10</d:Id>
+                               <d:Name>Room 10</d:Name>
+                               <d:Seats>6</d:Seats>
+                               <d:Version>1</d:Version>
+                       </m:properties>
+               </content>
+       </entry>
+       <entry m:etag="W/&quot;1&quot;">
+               
<id>http://localhost:8080/ReferenceScenario.svc/Rooms('100')</id>
+               <title type="text">Room 100</title>
+               <updated>2014-05-08T13:06:23Z</updated>
+               <category term="RefScenario.Room" 
scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
+               <link href="Rooms('100')" rel="edit" title="Room"/>
+               <link href="Rooms('100')/nr_Employees" 
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/nr_Employees";
 title="nr_Employees" type="application/atom+xml;type=feed"/>
+               <link href="Rooms('100')/nr_Building" 
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/nr_Building"; 
title="nr_Building" type="application/atom+xml;type=entry"/>
+               <content type="application/xml">
+                       <m:properties>
+                               <d:Id>100</d:Id>
+                               <d:Name>Room 100</d:Name>
+                               <d:Seats>6</d:Seats>
+                               <d:Version>1</d:Version>
+                       </m:properties>
+               </content>
+       </entry>
+       <link 
href="http://localhost:8080/ReferenceScenario.svc/Rooms?$skiptoken=97"; 
rel="next"/>
+</feed>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-fit/pom.xml
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-fit/pom.xml b/odata2-lib/odata-fit/pom.xml
index 301d180..f4b9086 100644
--- a/odata2-lib/odata-fit/pom.xml
+++ b/odata2-lib/odata-fit/pom.xml
@@ -28,7 +28,7 @@
        <parent>
                <groupId>org.apache.olingo</groupId>
                <artifactId>olingo-odata2-lib</artifactId>
-               <version>1.3.0-SNAPSHOT</version>
+               <version>2.0.0</version>
                <relativePath>..</relativePath>
        </parent>
 

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicHttpTest.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicHttpTest.java
 
b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicHttpTest.java
index b8d5939..408373c 100644
--- 
a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicHttpTest.java
+++ 
b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicHttpTest.java
@@ -207,7 +207,7 @@ public class BasicHttpTest extends AbstractBasicTest {
   public void unknownMethod() throws Exception {
     HttpSomethingUnsupported request = new 
HttpSomethingUnsupported(getEndpoint() + "aaa/bbb/ccc");
     final HttpResponse response = getHttpClient().execute(request);
-    assertEquals(HttpStatusCodes.METHOD_NOT_ALLOWED.getStatusCode(), 
response.getStatusLine().getStatusCode());
+    assertEquals(HttpStatusCodes.NOT_IMPLEMENTED.getStatusCode(), 
response.getStatusLine().getStatusCode());
   }
 
   @Test
@@ -269,6 +269,6 @@ public class BasicHttpTest extends AbstractBasicTest {
 
   @Test
   public void tunneledUnknownMethodOverride() throws Exception {
-    tunnelPost("X-HTTP-Method-Override", "xxx", 
HttpStatusCodes.METHOD_NOT_ALLOWED);
+    tunnelPost("X-HTTP-Method-Override", "xxx", 
HttpStatusCodes.NOT_IMPLEMENTED);
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/UrlRewriteTest.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/UrlRewriteTest.java
 
b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/UrlRewriteTest.java
index 348e715..37d8ba7 100644
--- 
a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/UrlRewriteTest.java
+++ 
b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/UrlRewriteTest.java
@@ -130,7 +130,7 @@ public class UrlRewriteTest extends AbstractBasicTest {
   public void testSomethingUnsupportedServiceDocumentRedirect() throws 
Exception {
     final HttpRequestBase httpMethod = 
createRedirectRequest(HttpSomethingUnsupported.class);
     final HttpResponse response = getHttpClient().execute(httpMethod);
-    assertEquals(HttpStatusCodes.METHOD_NOT_ALLOWED.getStatusCode(), 
response.getStatusLine().getStatusCode());
+    assertEquals(HttpStatusCodes.NOT_IMPLEMENTED.getStatusCode(), 
response.getStatusLine().getStatusCode());
   }
 
   private HttpRequestBase createRedirectRequest(final Class<? extends 
HttpRequestBase> clazz) throws Exception {

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-ref/pom.xml
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-ref/pom.xml b/odata2-lib/odata-ref/pom.xml
index 84a49d5..1280ef4 100644
--- a/odata2-lib/odata-ref/pom.xml
+++ b/odata2-lib/odata-ref/pom.xml
@@ -28,7 +28,7 @@
        <parent>
                <groupId>org.apache.olingo</groupId>
                <artifactId>olingo-odata2-lib</artifactId>
-               <version>1.3.0-SNAPSHOT</version>
+               <version>2.0.0</version>
                <relativePath>..</relativePath>
        </parent>
 

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/edm/ScenarioEdmProvider.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/edm/ScenarioEdmProvider.java
 
b/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/edm/ScenarioEdmProvider.java
index c57b06c..6585ccb 100644
--- 
a/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/edm/ScenarioEdmProvider.java
+++ 
b/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/edm/ScenarioEdmProvider.java
@@ -215,7 +215,10 @@ public class ScenarioEdmProvider extends EdmProvider {
             .setHasStream(true)
             .setKey(getKey("EmployeeId"))
             .setNavigationProperties(navigationProperties)
-            .setMapping(new 
Mapping().setMimeType("getImageType").setMediaResourceMimeTypeKey("~mrmtk"));
+            .setMapping(new Mapping()
+                // .setMimeType("getImageType")
+//                .setMediaResourceMimeTypeKey("~mrmtk")
+                .setMediaResourceMimeTypeKey("getImageType"));
 
       } else if (ENTITY_TYPE_1_BASE.getName().equals(edmFQName.getName())) {
         List<Property> properties = new ArrayList<Property>();
@@ -265,7 +268,9 @@ public class ScenarioEdmProvider extends EdmProvider {
             .setBaseType(ENTITY_TYPE_1_1)
             .setHasStream(true)
             .setNavigationProperties(navigationProperties)
-            .setMapping(new Mapping().setMimeType("getImageType"));
+            .setMapping(new Mapping()
+                // .setMimeType("getImageType")
+                .setMediaResourceMimeTypeKey("getImageType"));
 
       } else if (ENTITY_TYPE_1_5.getName().equals(edmFQName.getName())) {
         List<Property> properties = new ArrayList<Property>();
@@ -299,7 +304,7 @@ public class ScenarioEdmProvider extends EdmProvider {
                 .setFcTargetPath(EdmTargetPath.SYNDICATION_AUTHORURI))
             .setMapping(new Mapping().setInternalName("getImageUri")));
         properties.add(new 
SimpleProperty().setName("Image").setType(EdmSimpleTypeKind.Binary)
-            .setMapping(new Mapping().setMimeType("getImageType")));
+            .setMapping(new 
Mapping().setMediaResourceMimeTypeKey("getImageType")));
         properties.add(new 
SimpleProperty().setName("BinaryData").setType(EdmSimpleTypeKind.Binary)
             .setFacets(new Facets().setNullable(true))
             .setMimeType("image/jpeg"));
@@ -315,7 +320,9 @@ public class ScenarioEdmProvider extends EdmProvider {
             .setProperties(properties)
             .setHasStream(true)
             .setKey(getKey("Id", "Type"))
-            .setMapping(new 
Mapping().setMimeType("getType").setMediaResourceMimeTypeKey("~MediaResourceMimeTypeKey"));
+            .setMapping(new Mapping()
+                // .setMimeType("getType")
+                .setMediaResourceMimeTypeKey("getType"));
       }
     }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/BeanPropertyAccess.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/BeanPropertyAccess.java
 
b/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/BeanPropertyAccess.java
index 8898439..8ab3233 100644
--- 
a/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/BeanPropertyAccess.java
+++ 
b/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/BeanPropertyAccess.java
@@ -51,15 +51,15 @@ public class BeanPropertyAccess {
   }
 
   public <T> Object getMappingValue(final T data, final EdmMapping mapping) 
throws ODataException {
-    if (mapping != null && mapping.getMimeType() != null) {
-      return getValue(data, mapping.getMimeType());
+    if (mapping != null && mapping.getMediaResourceMimeTypeKey() != null) {
+      return getValue(data, mapping.getMediaResourceMimeTypeKey());
     }
     return null;
   }
 
   public <T, V> void setMappingValue(final T data, final EdmMapping mapping, 
final V value) throws ODataException {
-    if (mapping != null && mapping.getMimeType() != null) {
-      setValue(data, getSetterMethodName(mapping.getMimeType()), value);
+    if (mapping != null && mapping.getMediaResourceMimeTypeKey() != null) {
+      setValue(data, 
getSetterMethodName(mapping.getMediaResourceMimeTypeKey()), value);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/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 7e22a3d..86ae0cb 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
@@ -574,7 +574,7 @@ public class ListsProcessor extends ODataSingleProcessor {
     final List<EdmProperty> propertyPath = uriInfo.getPropertyPath();
     final EdmProperty property = propertyPath.get(propertyPath.size() - 1);
     final Object value = property.isSimple() ?
-        property.getMapping() == null || property.getMapping().getMimeType() 
== null ?
+        property.getMapping() == null || 
property.getMapping().getMediaResourceMimeTypeKey() == null ?
             getPropertyValue(data, propertyPath) : getSimpleTypeValueMap(data, 
propertyPath) :
         getStructuralTypeValueMap(getPropertyValue(data, propertyPath), 
(EdmStructuralType) property.getType());
 
@@ -611,7 +611,7 @@ public class ListsProcessor extends ODataSingleProcessor {
 
     final List<EdmProperty> propertyPath = uriInfo.getPropertyPath();
     final EdmProperty property = propertyPath.get(propertyPath.size() - 1);
-    final Object value = property.getMapping() == null || 
property.getMapping().getMimeType() == null ?
+    final Object value = property.getMapping() == null || 
property.getMapping().getMediaResourceMimeTypeKey() == null ?
         getPropertyValue(data, propertyPath) : getSimpleTypeValueMap(data, 
propertyPath);
 
     return 
ODataResponse.fromResponse(EntityProvider.writePropertyValue(property, 
value)).eTag(
@@ -1513,13 +1513,10 @@ public class ListsProcessor extends 
ODataSingleProcessor {
 
   private void handleMimeType(final Object data, final EdmMapping mapping, 
final Map<String, Object> valueMap)
       throws ODataException {
-    final String mimeTypeName = mapping.getMimeType();
+    final String mimeTypeName = mapping.getMediaResourceMimeTypeKey();
     if (mimeTypeName != null) {
       Object value = valueAccess.getMappingValue(data, mapping);
       valueMap.put(mimeTypeName, value);
-      if (mapping.getMediaResourceMimeTypeKey() != null) {
-        valueMap.put(mapping.getMediaResourceMimeTypeKey(), value);
-      }
     }
   }
 
@@ -1551,7 +1548,7 @@ public class ListsProcessor extends ODataSingleProcessor {
       final Object value = valueAccess.getPropertyValue(data, property);
 
       if (property.isSimple()) {
-        if (property.getMapping() == null || 
property.getMapping().getMimeType() == null) {
+        if (property.getMapping() == null || 
property.getMapping().getMediaResourceMimeTypeKey() == null) {
           valueMap.put(propertyName, value);
         } else {
           // TODO: enable MIME type mapping outside the current subtree

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-testutil/pom.xml
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-testutil/pom.xml 
b/odata2-lib/odata-testutil/pom.xml
index 49738a1..292bfbb 100644
--- a/odata2-lib/odata-testutil/pom.xml
+++ b/odata2-lib/odata-testutil/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.olingo</groupId>
     <artifactId>olingo-odata2-lib</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>2.0.0</version>
     <relativePath>..</relativePath>
   </parent>
 

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/helper/StringHelper.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/helper/StringHelper.java
 
b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/helper/StringHelper.java
index ec8a22f..9059a8c 100644
--- 
a/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/helper/StringHelper.java
+++ 
b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/helper/StringHelper.java
@@ -18,7 +18,13 @@
  
******************************************************************************/
 package org.apache.olingo.odata2.testutil.helper;
 
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
 import java.nio.charset.Charset;
 import java.util.Random;
 
@@ -30,15 +36,14 @@ import 
org.apache.olingo.odata2.testutil.TestUtilRuntimeException;
  */
 public class StringHelper {
 
-
   public static class Stream {
     private final byte[] data;
 
-    private Stream(byte[] data) {
+    private Stream(final byte[] data) {
       this.data = data;
     }
 
-    public Stream(String content, String charset) throws 
UnsupportedEncodingException {
+    public Stream(final String content, final String charset) throws 
UnsupportedEncodingException {
       this(content.getBytes(charset));
     }
 
@@ -54,11 +59,11 @@ public class StringHelper {
       return asString("UTF-8");
     }
 
-    public String asString(String charsetName) {
+    public String asString(final String charsetName) {
       return new String(data, Charset.forName(charsetName));
     }
 
-    public Stream print(OutputStream out) throws IOException {
+    public Stream print(final OutputStream out) throws IOException {
       out.write(data);
       return this;
     }
@@ -71,7 +76,7 @@ public class StringHelper {
      * Number of lines separated by line breaks (<code>CRLF</code>).
      * A content string like <code>text\r\nmoreText</code> will result in
      * a line count of <code>2</code>.
-     *
+     * 
      * @return lines count
      */
     public int linesCount() {
@@ -89,7 +94,7 @@ public class StringHelper {
     }
   }
 
-  public static Stream toStream(InputStream stream) throws IOException {
+  public static Stream toStream(final InputStream stream) throws IOException {
     byte[] result = new byte[0];
     byte[] tmp = new byte[8192];
     int readCount = stream.read(tmp);
@@ -104,7 +109,7 @@ public class StringHelper {
     return new Stream(result);
   }
 
-  public static Stream toStream(String content) {
+  public static Stream toStream(final String content) {
     try {
       return new Stream(content, "UTF-8");
     } catch (UnsupportedEncodingException e) {
@@ -112,7 +117,6 @@ public class StringHelper {
     }
   }
 
-
   public static String inputStreamToString(final InputStream in, final boolean 
preserveLineBreaks) throws IOException {
     final BufferedReader bufferedReader = new BufferedReader(new 
InputStreamReader(in, Charset.forName("UTF-8")));
     final StringBuilder stringBuilder = new StringBuilder();
@@ -132,12 +136,12 @@ public class StringHelper {
     return result;
   }
 
-  public static int countLines(String content) {
+  public static int countLines(final String content) {
     return countLines(content, "\r\n");
   }
 
-  public static int countLines(String content, String lineBreak) {
-    if(content == null) {
+  public static int countLines(final String content, final String lineBreak) {
+    if (content == null) {
       return -1;
     }
 
@@ -145,7 +149,7 @@ public class StringHelper {
     int count = 1;
 
     while (lastPos >= 0) {
-      lastPos = content.indexOf(lineBreak, lastPos+1);
+      lastPos = content.indexOf(lineBreak, lastPos + 1);
       count++;
     }
     return count;

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/46d83c8e/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/mock/EdmMock.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/mock/EdmMock.java
 
b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/mock/EdmMock.java
index 66a5708..acf55a4 100644
--- 
a/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/mock/EdmMock.java
+++ 
b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/mock/EdmMock.java
@@ -72,7 +72,7 @@ class EdmMock {
     EdmEntityType employeeType = employeeEntitySet.getEntityType();
     when(employeeType.hasStream()).thenReturn(true);
     EdmMapping employeeTypeMapping = Mockito.mock(EdmMapping.class);
-    when(employeeTypeMapping.getMimeType()).thenReturn("getImageType");
+    
when(employeeTypeMapping.getMediaResourceMimeTypeKey()).thenReturn("getImageType");
     when(employeeType.getMapping()).thenReturn(employeeTypeMapping);
     when(employeeType.getPropertyNames()).thenReturn(Arrays.asList(
         "EmployeeId", "EmployeeName", "ManagerId", "RoomId", "TeamId",
@@ -207,7 +207,7 @@ class EdmMock {
     when(photoEntityType.getKeyPropertyNames()).thenReturn(Arrays.asList("Id", 
"Type"));
     when(photoEntityType.hasStream()).thenReturn(true);
     EdmMapping photoEntityTypeMapping = Mockito.mock(EdmMapping.class);
-    when(photoEntityTypeMapping.getMimeType()).thenReturn("getType");
+    
when(photoEntityTypeMapping.getMediaResourceMimeTypeKey()).thenReturn("getType");
     when(photoEntityType.getMapping()).thenReturn(photoEntityTypeMapping);
     EdmProperty photoIdProperty = createProperty("Id", 
EdmSimpleTypeKind.Int32, photoEntityType);
     EdmFacets photoIdFacet = mock(EdmFacets.class);
@@ -220,7 +220,7 @@ class EdmMock {
 
     EdmProperty photoImageProperty = createProperty("Image", 
EdmSimpleTypeKind.Binary, photoEntityType);
     EdmMapping imageMapping = mock(EdmMapping.class);
-    when(imageMapping.getMimeType()).thenReturn("getImageType");
+    
when(imageMapping.getMediaResourceMimeTypeKey()).thenReturn("getImageType");
     when(photoImageProperty.getMapping()).thenReturn(imageMapping);
 
     EdmProperty binaryDataProperty = createProperty("BinaryData", 
EdmSimpleTypeKind.Binary, photoEntityType);

Reply via email to