Example usage for org.springframework.data.domain Sort iterator

List of usage examples for org.springframework.data.domain Sort iterator

Introduction

In this page you can find the example usage for org.springframework.data.domain Sort iterator.

Prototype

public Iterator<Order> iterator() 

Source Link

Usage

From source file:org.bremersee.comparator.spring.ComparatorSpringUtils.java

/**
 * Transforms a {@code Sort} object into a comparator item.
 * //from w ww .  jav a  2 s .  c  om
 * @param sort
 *            the {@code Sort} object
 * @return the comparator item
 */
public static ComparatorItem fromSort(Sort sort) {
    if (sort == null) {
        return null;
    }
    ComparatorItem comparatorItem = null;
    Iterator<Sort.Order> orderIter = sort.iterator();
    while (orderIter.hasNext()) {
        Sort.Order order = orderIter.next();
        ComparatorItem item = fromSortOrder(order);
        if (item != null) {
            if (comparatorItem == null) {
                comparatorItem = item;
            } else {
                comparatorItem.getLastComparatorItem().setNextComparatorItem(item);
            }
        }
    }
    return comparatorItem;
}

From source file:org.kmnet.com.fw.web.pagination.PaginationInfo.java

/**
 * Creates and returns a map of attributes to be used by pagination functionality in displaying the results<br>
 * <p>/* www. jav  a2 s.  co m*/
 * Pagination functionality supports only a single sort order. If a {@code Sort} instance containing multiple {@code Order}
 * elements is passed as argument, the last {@code Order} element will be applicable
 * </p>
 * @param pageIndex index of page number (page index is start with 0).
 * @param size size of page.
 * @param sort Sort option for queries.
 * @return Map<String, Object> instance of attributes
 */
public static Map<String, Object> createAttributeMap(int pageIndex, int size, Sort sort) {
    Map<String, Object> attr = new HashMap<String, Object>(3);
    attr.put(PAGE_ATTR, pageIndex);
    attr.put(SIZE_ATTR, size);
    if (sort != null) {
        Iterator<Order> orders = sort.iterator();

        if (orders.hasNext()) {
            // support only one order
            Order order = orders.next();
            attr.put(SORT_ORDER_PROPERTY_ATTR, order.getProperty());
            attr.put(SORT_ORDER_DIRECTION_ATTR, order.getDirection().toString());
        }
    }
    return attr;
}

From source file:cn.edu.zjnu.acm.judge.user.UserListController.java

@GetMapping({ "/userlist", "/users" })
@SuppressWarnings("AssignmentToMethodParameter")
public String userlist(HttpServletRequest request, @PageableDefault(50) Pageable pageable) {
    Sort sort = pageable.getSort();
    int pageSize = Math.min(pageable.getPageSize(), 500);

    if (sort == null || !sort.iterator().hasNext()) {
        sort = DEFAULT_SORT;//w  w w.  java 2  s.co  m
    }

    pageable = new PageRequest(pageable.getPageNumber(), pageSize, sort);

    String query;
    try {
        query = URLBuilder.fromRequest(request).replaceQueryParam("page").toString();
    } catch (IllegalStateException | IllegalArgumentException ex) {
        throw new BadRequestException();
    }

    long totalUsers = userMapper.countByDisabledFalse();
    List<User> users = userMapper.findAll(pageable);
    PageImpl<User> page = new PageImpl<>(users, pageable, totalUsers);
    request.setAttribute("url", query);
    request.setAttribute("page", page);
    return "users/list";
}

From source file:cz.jirutka.spring.data.jdbc.sql.DefaultSqlGenerator.java

protected String orderByExpression(Sort sort) {
    StringBuilder sb = new StringBuilder();

    for (Iterator<Order> it = sort.iterator(); it.hasNext();) {
        Order order = it.next();/*w w w .j a v  a2s  .c om*/
        sb.append(order.getProperty()).append(' ').append(order.getDirection());

        if (it.hasNext())
            sb.append(COMMA);
    }
    return sb.toString();
}

From source file:com.googlecode.spring.appengine.objectify.repository.SimpleOfyRepository.java

@Override
public List<T> findAll(Sort sort) {
    Query<T> query = query();
    if (sort != null) {
        Iterator<Sort.Order> iterator = sort.iterator();
        while (iterator.hasNext()) {
            Sort.Order order = iterator.next();
            query = query.order((order.isAscending() ? "" : "-") + order.getProperty());
        }/*from ww w .ja  v a2s. c  o m*/
    }
    return query.list();
}

From source file:cn.guoyukun.spring.jpa.repository.RepositoryHelper.java

/**
 * ?//from  ww  w  .  j  a v a  2  s .co m
 *
 * @param sort
 * @return
 */
public String prepareOrder(Sort sort) {
    if (sort == null || !sort.iterator().hasNext()) {
        return "";
    }
    StringBuilder orderBy = new StringBuilder("");
    orderBy.append(" order by ");
    orderBy.append(sort.toString().replace(":", " "));
    return orderBy.toString();
}

From source file:me.ineson.demo.service.utils.RestUtilsTest.java

@Test
public void testParseSortOrderSingle() {
    Sort sort = RestUtils.parseSortOrder("field1");
    Assert.assertNotNull(sort);//from   w w w  .j a v a 2  s.  co m
    Iterator<Sort.Order> sortIterator = sort.iterator();
    int count = 0;
    while (sortIterator.hasNext()) {
        count++;
        Assert.assertEquals("count", 1, count);

        Sort.Order sortOrder = sortIterator.next();
        Assert.assertNotNull(sortOrder);
        log.trace("Sort asc {}, field {}", sortOrder.isAscending(), sortOrder.getProperty());
        Assert.assertTrue("sort ascsending", sortOrder.isAscending());
        Assert.assertEquals("sort property", "field1", sortOrder.getProperty());

    }
    Assert.assertEquals("count", 1, count);
}

From source file:me.ineson.demo.service.utils.RestUtilsTest.java

@Test
public void testParseSortOrderSingleAscending() {
    Sort sort = RestUtils.parseSortOrder("+field1");
    Assert.assertNotNull(sort);/*from  w  ww.j  ava2 s.c  o m*/
    Iterator<Sort.Order> sortIterator = sort.iterator();
    int count = 0;
    while (sortIterator.hasNext()) {
        count++;
        Assert.assertEquals("count", 1, count);

        Sort.Order sortOrder = sortIterator.next();
        Assert.assertNotNull(sortOrder);
        log.trace("Sort asc {}, field {}", sortOrder.isAscending(), sortOrder.getProperty());
        Assert.assertTrue("sort ascsending", sortOrder.isAscending());
        Assert.assertEquals("sort property", "field1", sortOrder.getProperty());

    }
    Assert.assertEquals("count", 1, count);
}

From source file:me.ineson.demo.service.utils.RestUtilsTest.java

@Test
public void testParseSortOrderSingleDesending() {
    Sort sort = RestUtils.parseSortOrder("-field1");
    Assert.assertNotNull(sort);/*from   w  w  w . j ava2  s .  c om*/
    Iterator<Sort.Order> sortIterator = sort.iterator();
    int count = 0;
    while (sortIterator.hasNext()) {
        count++;
        Assert.assertEquals("count", 1, count);

        Sort.Order sortOrder = sortIterator.next();
        Assert.assertNotNull(sortOrder);
        log.info("Sort asc {}, field {}", sortOrder.isAscending(), sortOrder.getProperty());
        Assert.assertFalse("sort desending", sortOrder.isAscending());
        Assert.assertEquals("sort property", "field1", sortOrder.getProperty());

    }
    Assert.assertEquals("count", 1, count);
}

From source file:me.ineson.demo.service.utils.RestUtilsTest.java

@Test
public void testParseSortOrderTwo() {
    Sort sort = RestUtils.parseSortOrder("field1,-field2");
    Assert.assertNotNull(sort);// ww w  .  j  a v  a2  s .c  om
    Iterator<Sort.Order> sortIterator = sort.iterator();
    int count = 0;
    while (sortIterator.hasNext()) {
        count++;

        if (count == 1) {
            Sort.Order sortOrder = sortIterator.next();
            Assert.assertNotNull(sortOrder);
            log.info("Sort asc {}, field {}", sortOrder.isAscending(), sortOrder.getProperty());
            Assert.assertTrue("sort ascsending", sortOrder.isAscending());
            Assert.assertEquals("sort property", "field1", sortOrder.getProperty());
        } else if (count == 2) {
            Sort.Order sortOrder = sortIterator.next();
            Assert.assertNotNull(sortOrder);
            log.info("Sort asc {}, field {}", sortOrder.isAscending(), sortOrder.getProperty());
            Assert.assertFalse("sort ascsending", sortOrder.isAscending());
            Assert.assertEquals("sort property", "field2", sortOrder.getProperty());
        } else {
            Assert.assertEquals("count", 2, count);
        }
    }
    Assert.assertEquals("count", 2, count);
}