private List<Object> handlePaging(final List<Object> result, final GetEntitySetUriInfo uriParserResultView) { if (result == null) { return null; } JPAPageBuilder pageBuilder = new JPAPageBuilder(); pageBuilder.pageSize(oDataJPAContext.getPageSize()) .entities(result) .skipToken(uriParserResultView.getSkipToken()); // $top/$skip with $inlinecount case handled in response builder to avoid multiple DB call if (uriParserResultView.getSkip() != null) { pageBuilder.skip(uriParserResultView.getSkip().intValue()); } if (uriParserResultView.getTop() != null) { pageBuilder.top(uriParserResultView.getTop().intValue()); } JPAPage page = pageBuilder.build(); oDataJPAContext.setPaging(page); return page.getPagedEntities(); }
private List<Object> handlePaging(final Query query, final GetEntitySetUriInfo uriParserResultView, JPAQueryBuilder queryBuilder) { JPAPageBuilder pageBuilder = new JPAPageBuilder(); pageBuilder.pageSize(oDataJPAContext.getPageSize()) .query(query) .skipToken(uriParserResultView.getSkipToken()); // $top/$skip with $inlinecount case handled in response builder to avoid multiple DB call if (uriParserResultView.getSkip() != null) { pageBuilder.skip(uriParserResultView.getSkip().intValue()); } if (uriParserResultView.getTop() != null) { pageBuilder.top(uriParserResultView.getTop().intValue()); } JPAPage page = pageBuilder.build(); oDataJPAContext.setPaging(page); List<Object> entities = normalizeList(page.getPagedEntities(), (UriInfo) uriParserResultView); return entities; }
private static Integer getInlineCountForNonFilterQueryEntitySet(final List<Map<String, Object>> edmEntityList, final GetEntitySetUriInfo resultsView) { // when $skip and/or $top is present with $inlinecount, first get the total count Integer count = null; if (resultsView.getInlineCount() == InlineCount.ALLPAGES) { if (resultsView.getSkip() != null || resultsView.getTop() != null) { count = edmEntityList.size(); // Now update the list if (resultsView.getSkip() != null) { // Index checks to avoid IndexOutOfBoundsException if (resultsView.getSkip() > edmEntityList.size()) { edmEntityList.clear(); return count; } edmEntityList.subList(0, resultsView.getSkip()).clear(); } if (resultsView.getTop() != null && resultsView.getTop() >= 0 && resultsView.getTop() < edmEntityList.size()) { final List<Map<String, Object>> edmEntitySubList = new ArrayList<Map<String, Object>>(edmEntityList.subList(0, resultsView.getTop())); edmEntityList.retainAll(edmEntitySubList); } } }// Inlinecount of None is handled by default - null return count; }
private List<Object> handlePaging(final Query query, final GetEntitySetUriInfo uriParserResultView) { JPAPageBuilder pageBuilder = new JPAPageBuilder(); pageBuilder.pageSize(oDataJPAContext.getPageSize()) .query(query) .skipToken(uriParserResultView.getSkipToken()); // $top/$skip with $inlinecount case handled in response builder to avoid multiple DB call if (uriParserResultView.getSkip() != null && uriParserResultView.getInlineCount() == null) { pageBuilder.skip(uriParserResultView.getSkip().intValue()); } if (uriParserResultView.getTop() != null && uriParserResultView.getInlineCount() == null) { pageBuilder.top(uriParserResultView.getTop().intValue()); } JPAPage page = pageBuilder.build(); oDataJPAContext.setPaging(page); return page.getPagedEntities(); }
private static Integer getInlineCountForNonFilterQueryEntitySet(final List<Map<String, Object>> edmEntityList, final GetEntitySetUriInfo resultsView) { // when $skip and/or $top is present with $inlinecount, first get the total count Integer count = null; if (resultsView.getInlineCount() == InlineCount.ALLPAGES) { if (resultsView.getSkip() != null || resultsView.getTop() != null) { count = edmEntityList.size(); // Now update the list if (resultsView.getSkip() != null) { // Index checks to avoid IndexOutOfBoundsException if (resultsView.getSkip() > edmEntityList.size()) { edmEntityList.clear(); return count; } edmEntityList.subList(0, resultsView.getSkip()).clear(); } if (resultsView.getTop() != null && resultsView.getTop() >= 0 && resultsView.getTop() < edmEntityList.size()) { final List<Map<String, Object>> edmEntitySubList = new ArrayList<Map<String, Object>>(edmEntityList.subList(0, resultsView.getTop())); edmEntityList.retainAll(edmEntitySubList); } } }// Inlinecount of None is handled by default - null return count; }
private List<Object> handlePaging(final List<Object> result, final GetEntitySetUriInfo uriParserResultView) { if (result == null) { return null; } JPAPageBuilder pageBuilder = new JPAPageBuilder(); pageBuilder.pageSize(oDataJPAContext.getPageSize()) .entities(result) .skipToken(uriParserResultView.getSkipToken()); // $top/$skip with $inlinecount case handled in response builder to avoid multiple DB call if (uriParserResultView.getSkip() != null && uriParserResultView.getInlineCount() == null) { pageBuilder.skip(uriParserResultView.getSkip().intValue()); } if (uriParserResultView.getTop() != null && uriParserResultView.getInlineCount() == null) { pageBuilder.top(uriParserResultView.getTop().intValue()); } JPAPage page = pageBuilder.build(); oDataJPAContext.setPaging(page); return page.getPagedEntities(); }
protected String generateOrderByFileds() throws ODataJPARuntimeException, EdmException { if (entitySetView.getOrderBy() != null) { return ODataExpressionParser.parseToJPAOrderByExpression(entitySetView.getOrderBy(), getJPAEntityAlias()); } else if (entitySetView.getTop() != null || entitySetView.getSkip() != null || pagingRequested == true) { return ODataExpressionParser.parseKeyPropertiesToJPAOrderByExpression(entitySetView.getTargetEntitySet() .getEntityType().getKeyProperties(), getJPAEntityAlias()); } else { return null; } }
protected String generateOrderByFileds() throws ODataJPARuntimeException, EdmException { if (entitySetView.getOrderBy() != null) { return ODataExpressionParser.parseToJPAOrderByExpression(entitySetView.getOrderBy(), getJPAEntityAlias()); } else if ((entitySetView.getTop() != null || entitySetView.getSkip() != null || pagingRequested == true) && !getType().equals(JPQLContextType.SELECT_COUNT)) { return ODataExpressionParser.parseKeyPropertiesToJPAOrderByExpression(entitySetView.getTargetEntitySet() .getEntityType().getKeyProperties(), getJPAEntityAlias()); } else { return null; } }
if ((resultsView.getSkip() != null || resultsView.getTop() != null)) {