Query query = null;
List<Object> result = null;
JPAEdmMapping mapping = (JPAEdmMapping) uriParserResultView.getTargetEntitySet().getEntityType().getMapping();
ODataJPATombstoneEntityListener listener = null;
if (mapping.getODataJPATombstoneEntityListener() != null) {
listener = (ODataJPATombstoneEntityListener) mapping.getODataJPATombstoneEntityListener().newInstance();
query = listener.getQuery(uriParserResultView, em);
}
if (query == null) {
query = em.createQuery(jpqlStatement.toString());
if (listener != null) {
query.getResultList();
List<Object> deltaResult =
(List<Object>) ODataJPATombstoneContext.getDeltaResult(((EdmMapping) mapping).getInternalName());
result = handlePaging(deltaResult, uriParserResultView);
} else {
result = handlePaging(query, uriParserResultView);
}
} else {
result = handlePaging(query, uriParserResultView);
}
// Set New Token
if (listener != null) {
ODataJPATombstoneContext.setDeltaToken(listener.generateDeltaToken((List<Object>) result, query));
}
return result == null ? new ArrayList<Object>() : result;
} catch (Exception e) {