List of usage examples for org.springframework.data.domain Pageable getSort
Sort getSort();
From source file:com.wiiyaya.framework.provider.utils.PageableHelper.java
public static Pageable mappingAttr(Map<String, String> replaceAttr, Pageable pageRequest) { if (pageRequest.getSort() == null || replaceAttr == null || replaceAttr.size() == 0) { return pageRequest; }/* ww w .ja va 2s . c o m*/ List<Order> orders = new ArrayList<Order>(); for (Map.Entry<String, String> entry : replaceAttr.entrySet()) { Order ctOrd = pageRequest.getSort().getOrderFor(entry.getKey()); if (ctOrd != null) { ctOrd = new Order(ctOrd.getDirection(), entry.getValue()); orders.add(ctOrd); } } return new PageRequest(pageRequest.getPageNumber(), pageRequest.getPageSize(), new Sort(orders)); }
From source file:cat.albirar.framework.utilities.PageUtilities.java
/** * Clone a {@link Pageable} object./*from w ww . j a v a 2s . c o m*/ * * @param origin The origin * @return The new instance with all the origin values. Null if origin is null */ public static final Pageable copyPageable(Pageable origin) { Pageable d; if (origin != null) { d = new PageRequest(origin.getPageNumber(), origin.getPageSize(), origin.getSort()); } else { d = null; } return d; }
From source file:cn.edu.zjnu.acm.judge.mapper.BestSubmissionsBuilder.java
public static String bestSubmissions(@Param("problemId") long problemId, @Param("pageable") Pageable pageable) { Set<String> dejaVu = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); Sort sort = Optional.ofNullable(pageable.getSort()).map(s -> s.and(DEFAULT_SORT)).orElse(DEFAULT_SORT); Sort.Order[] orders = StreamSupport.stream(sort.spliterator(), false) .filter(order -> ALLOW_COLUMNS.contains(order.getProperty()) && dejaVu.add(order.getProperty())) .toArray(Sort.Order[]::new); final int length = orders.length; log.debug("{}", Arrays.asList(orders)); StringBuilder sb = new StringBuilder( "select " + SubmissionMapper.LIST_COLUMNS + " from solution s where problem_id=").append(problemId) .append(" and score=100 "); for (int i = length - 1; i >= 0; --i) { sb.append("and(user_id"); for (int j = 0; j <= i; ++j) { sb.append(',').append(orders[j].getProperty()); }//from ww w . ja va 2 s .c om sb.append(")in(select user_id"); for (int j = 0; j < i; ++j) { sb.append(',').append(orders[j].getProperty()); } sb.append(',').append(orders[i].isAscending() ? "min" : "max").append("(") .append(orders[i].getProperty()).append(")").append(orders[i].getProperty()) .append(" from solution where problem_id=").append(problemId).append(" and score=100 "); } for (int i = 0; i < length; ++i) { sb.append("group by user_id)"); } if (length > 0) { sb.append(" order by "); for (int i = 0; i < length; ++i) { if (i > 0) { sb.append(","); } sb.append(orders[i].getProperty()); if (!orders[i].isAscending()) { sb.append(" desc"); } } } return sb.append(" limit ").append(pageable.getOffset()).append(",").append(pageable.getPageSize()) .toString(); }
From source file:org.oncoblocks.centromere.web.controller.RequestUtils.java
/** * Uses annotated {@link Model} class definitions to remap any request attribute names in a * {@link Pageable} so that they match repository attribute names. * * @param pageable {@link Pageable}/*from w w w .ja va 2 s .c o m*/ * @return */ public static Pageable remapPageable(Pageable pageable, Class<? extends Model<?>> model) { logger.debug("Attempting to remap Pageable parameter names."); Sort sort = null; if (pageable.getSort() != null) { List<Sort.Order> orders = new ArrayList<>(); for (Sort.Order order : pageable.getSort()) { orders.add(new Sort.Order(order.getDirection(), remapParameterName(order.getProperty(), model))); } sort = new Sort(orders); } return new PageRequest(pageable.getPageNumber(), pageable.getPageSize(), sort); }
From source file:cz.jirutka.spring.data.jdbc.sql.SQL2008SqlGenerator.java
@Override public String selectAll(TableDescription table, Pageable page) { Sort sort = page.getSort() != null ? page.getSort() : sortById(table); return format("%s OFFSET %d ROWS FETCH NEXT %d ROW ONLY", selectAll(table, sort), page.getOffset(), page.getPageSize());//w w w . jav a 2 s . co m }
From source file:cz.jirutka.spring.data.jdbc.sql.Oracle9SqlGenerator.java
@Override public String selectAll(TableDescription table, Pageable page) { Sort sort = page.getSort() != null ? page.getSort() : sortById(table); return format( "SELECT t2__.* FROM ( " + "SELECT t1__.*, ROWNUM as rn__ FROM ( %s ) t1__ " + ") t2__ WHERE t2__.rn__ > %d AND ROWNUM <= %d", selectAll(table, sort), page.getOffset(), page.getPageSize()); }
From source file:com.trenako.services.BrandsServiceImpl.java
@Override public Page<Brand> findAll(Pageable pageable) { if (pageable.getSort() == null) { pageable = new PageRequest(pageable.getPageNumber(), pageable.getPageSize(), NAME_SORT); }//from www . j a v a 2s . com return repo.findAll(pageable); }
From source file:net.turnbig.jdbcx.dialect.impl.InformixDialect.java
@Override public String getPageableSql(String sql, Pageable pageable) { String sortedSql = SelectSqlUtils.addSort(sql, pageable.getSort()); String pagedSql = "select skip {1} first {2} * from ({0}) temp_t"; return MessageFormat.format(pagedSql, sortedSql, pageable.getOffset(), pageable.getPageSize()); }
From source file:net.turnbig.jdbcx.dialect.impl.Db2Dialect.java
@Override public String getPageableSql(String sql, Pageable pageable) { String sortedSql = SelectSqlUtils.addSort(sql, pageable.getSort()); int startRow = pageable.getOffset(); int endRow = pageable.getOffset() + pageable.getPageSize(); String pagedSql = "select * from ( select tmp_page.*,rownumber() over() as row_id from ({0}) as tmp_page" + ") where row_id between {1} and {2} "; return MessageFormat.format(pagedSql, sortedSql, startRow, endRow); }
From source file:cz.jirutka.spring.data.jdbc.sql.LimitOffsetSqlGenerator.java
@Override public String selectAll(TableDescription table, Pageable page) { return format("%s LIMIT %d OFFSET %d", selectAll(table, page.getSort()), page.getPageSize(), page.getOffset());//from w w w. j a v a 2 s. c o m }