return result;
}
@Override
public WriteFeedCallbackResult retrieveFeedResult(final WriteFeedCallbackContext context) {
WriteFeedCallbackResult result = new WriteFeedCallbackResult();
HashMap<String, Object> inlinedEntry = (HashMap<String, Object>) context.getEntryData();
List<Map<String, Object>> edmEntityList = new ArrayList<Map<String, Object>>();
Map<String, Object> edmPropertyValueMap = null;
JPAEntityParser jpaResultParser = new JPAEntityParser();
List<EdmNavigationProperty> currentNavPropertyList = null;
EdmNavigationProperty currentNavigationProperty = context.getNavigationProperty();
try {
@SuppressWarnings({ "unchecked" })
List<Object> listOfItems = (List<Object>) inlinedEntry.get(context.getNavigationProperty().getName());
if (nextEntitySet == null) {
nextEntitySet = context.getSourceEntitySet().getRelatedEntitySet(currentNavigationProperty);
}
for (Object object : listOfItems) {
edmPropertyValueMap = jpaResultParser.parse2EdmPropertyValueMap(object, nextEntitySet.getEntityType());
edmEntityList.add(edmPropertyValueMap);
}
result.setFeedData(edmEntityList);
if (context.getCurrentExpandSelectTreeNode().getLinks().size() > 0) {
currentNavPropertyList = new ArrayList<EdmNavigationProperty>();
currentNavPropertyList.add(getNextNavigationProperty(context.getSourceEntitySet().getEntityType(), context
.getNavigationProperty()));
int count = 0;
for (Object object : listOfItems) {
HashMap<String, Object> navigationMap =
jpaResultParser.parse2EdmNavigationValueMap(object, currentNavPropertyList);
edmEntityList.get(count).putAll(navigationMap);
count++;
}
result.setFeedData(edmEntityList);
}
result.setInlineProperties(getInlineEntityProviderProperties(context));
} catch (EdmException e) {
} catch (ODataJPARuntimeException e) {
}