DefaultCallback callbackHandler = new DefaultCallback();
EntityProviderReadProperties consumerProperties = EntityProviderReadProperties.init()
.mergeSemantic(false)
.callback(callbackHandler).build();
ODataEntry entry = xec.readEntry(entitySet, reqContent, consumerProperties);
// validate
assertNotNull(entry);
Map<String, Object> properties = entry.getProperties();
assertEquals("1", properties.get("Id"));
assertEquals("Team 1", properties.get("Name"));
assertEquals(Boolean.FALSE, properties.get("isScrumTeam"));
//
@SuppressWarnings("unchecked")
List<ODataEntry> employees = (List<ODataEntry>) properties.get("nt_Employees");
assertEquals(3, employees.size());
//
ODataEntry employeeNo2 = employees.get(1);
Map<String, Object> employessNo2Props = employeeNo2.getProperties();
assertEquals("Frederic Fall", employessNo2Props.get("EmployeeName"));
assertEquals("2", employessNo2Props.get("RoomId"));
assertEquals(32, employessNo2Props.get("Age"));
@SuppressWarnings("unchecked")
Map<String, Object> emp2Location = (Map<String, Object>) employessNo2Props.get("Location");
@SuppressWarnings("unchecked")
Map<String, Object> emp2City = (Map<String, Object>) emp2Location.get("City");
assertEquals("69190", emp2City.get("PostalCode"));
assertEquals("Walldorf", emp2City.get("CityName"));
ODataEntry inlinedTeam = (ODataEntry) employessNo2Props.get("ne_Team");
assertEquals("1", inlinedTeam.getProperties().get("Id"));
assertEquals("Team 1", inlinedTeam.getProperties().get("Name"));
}