Java 类org.springframework.data.domain.Sort.Direction 实例源码

项目:spring-data-examples    文件:SpringBooksIntegrationTests.java   
/**
 * Get number of books that were published by the particular publisher with their titles.
 */
@Test
public void shouldRetrieveBooksPerPublisherWithTitles() {

    Aggregation aggregation = newAggregation( //
            group("volumeInfo.publisher") //
                    .count().as("count") //
                    .addToSet("volumeInfo.title").as("titles"), //
            sort(Direction.DESC, "count"), //
            project("count", "titles").and("_id").as("publisher"));

    AggregationResults<BooksPerPublisher> result = operations.aggregate(aggregation, "books", BooksPerPublisher.class);

    BooksPerPublisher booksPerPublisher = result.getMappedResults().get(0);

    assertThat(booksPerPublisher.getPublisher()).isEqualTo("Apress");
    assertThat(booksPerPublisher.getCount()).isEqualTo(26);
    assertThat(booksPerPublisher.getTitles()).contains("Expert Spring MVC and Web Flow", "Pro Spring Boot");
}
项目:travel-agency    文件:SmsConversationService.java   
public void saveAndBroadcast(InboundSmsMessage smsMessage){
    log.info("Inbound message received {}", smsMessage);

    inboundSmsMessageRepository.save(smsMessage);

    Pageable page = (Pageable) PageRequest.of(0, 1, Direction.DESC, "date");
    List<Conversation> conversations = conversationRepository.findByPhoneNumber(smsMessage.getMsisdn(), page);

    if( ! conversations.isEmpty()){
        Conversation conversation =  conversations.get(0);
        Optional<Participant> user = conversation.findParticipantByPhone(smsMessage.getMsisdn());

        if(user.isPresent()){
            ConversationMessage conversationMessage = createConversationMessage(smsMessage, conversation, user.get());
            broadcastMessage(conversationMessage);
        }else{
            log.warn("No participant found associated with {} in {}", smsMessage.getMsisdn(), conversation.getId());
        }

    }else{
        log.warn("No conversation found associated with {}", smsMessage.getMsisdn());
    }
}
项目:lobbycal    文件:CalendarDTRepositoryImpl.java   
/**
 * Creates a 'LIMIT .. OFFSET .. ORDER BY ..' clause for the given
 * {@link DataTablesInput}.
 * 
 * @param input
 *            the {@link DataTablesInput} mapped from the Ajax request
 * @return a {@link Pageable}, must not be {@literal null}.
 */
@Transactional
private Pageable getPageable(DataTablesInput input) {

    List<Order> orders = new ArrayList<Order>();
    for (OrderParameter order : input.getOrder()) {
        log.debug("order column: " + order.getColumn() + "");
        ColumnParameter column = input.getColumns().get(order.getColumn());
        if (column.getOrderable()) {
            String sortColumn = column.getData();
            Direction sortDirection = Direction.fromString(order.getDir());
            orders.add(new Order(sortDirection, sortColumn));
        }
    }
    Sort sort = orders.isEmpty() ? null : new Sort(orders);
    if (input.getLength() == -1) {
        input.setStart(0);
        input.setLength(Integer.MAX_VALUE);
    }

    return new PageRequest(input.getStart() / input.getLength(), input.getLength(), sort);
}
项目:plugin-id-ldap    文件:AbstractContainerLdaRepository.java   
@Override
public Page<T> findAll(final Set<T> groups, final String criteria, final Pageable pageable, final Map<String, Comparator<T>> customComparators) {
    // Create the set with the right comparator
    final List<Sort.Order> orders = IteratorUtils.toList(ObjectUtils.defaultIfNull(pageable.getSort(), new ArrayList<Sort.Order>()).iterator());
    orders.add(DEFAULT_ORDER);
    final Sort.Order order = orders.get(0);
    Comparator<T> comparator = customComparators.get(order.getProperty());
    if (order.getDirection() == Direction.DESC) {
        comparator = Collections.reverseOrder(comparator);
    }
    final Set<T> result = new TreeSet<>(comparator);

    // Filter the groups, filtering by the criteria
    addFilteredByPattern(groups, criteria, result);

    // Apply in-memory pagination
    return inMemoryPagination.newPage(result, pageable);
}
项目:danyuan-application    文件:SysSeedServiceImpl.java   
/**
 * 方法名 : findAll
 * 功 能 : TODO(这里用一句话描述这个方法的作用)
 * 参 数 : @return
 * 参 考 : @see tk.ainiyue.admin.roles.service.SysRolesService#findAll()
 * 作 者 : Tenghui.Wang
 */

@Override
public Page<SysSeedInfo> findAll(int pageNumber, int pageSize, String searchText) {
    Sort sort = new Sort(new Order(Direction.DESC, "seedName"));
    PageRequest request = this.buildPageRequest(pageNumber, pageSize, sort);
    Page<SysSeedInfo> sourceCodes = null;
    if (searchText == null || "".equals(searchText)) {
        sourceCodes = sysSeedDao.findAll(request);
    } else {
        SysSeedInfo info = new SysSeedInfo();
        info.setSeedName(searchText);
        Example<SysSeedInfo> example = Example.of(info);
        sourceCodes = sysSeedDao.findAll(example, request);
    }
    return sourceCodes;
}
项目:pinkyLam-Blog-Server    文件:ArticleController.java   
@RequestMapping("articleList")
public PageableResultJson articleList(@RequestParam(value = "page") Integer page, Long id, String title) {
    PageableResultJson tableJson = new PageableResultJson();
    Sort sort = new Sort(Direction.DESC, "id");
    Pageable pageable = new PageRequest(page, PageableResultJson.PAGE_SIZE, sort);
    Page<Article> pageData = null;
    if (StringUtils.isEmpty(title)) {
        pageData = articleDao.findArticleByAuthorId(id, pageable);
    } else {
        pageData = articleDao.findArticleByAuthorIdAndTitleLike(id, title, pageable);
    }

    tableJson.setData(pageData.getContent());
    tableJson.setPageSize(PageableResultJson.PAGE_SIZE);
    tableJson.setTotalPageNumber(pageData.getTotalPages());
    return tableJson;
}
项目:sucok-framework    文件:MongoQueryFormHelper.java   
public static <T> List<Order> getOrdes(String orderBy) {
    if (StringUtils.isEmpty(orderBy)) {
        return Collections.emptyList();
    }
    String[] groups = orderBy.trim().split(",");
    List<Order> orders = new ArrayList<Order>(groups.length);
    for (String group : groups) {
        boolean ascending = true;
        String[] array = group.split("\\s", 2);
        String property = array[0];
        if (array.length > 1) {
            ascending ="asc".equalsIgnoreCase(array[0]);;
        }
        Order order = new Order(ascending ? Direction.ASC : Direction.DESC, property);
        orders.add(order);
    }
    return orders;
}
项目:spring-data-examples    文件:SpringBooksIntegrationTests.java   
/**
 * Get number of books that were published by the particular publisher.
 */
@Test
public void shouldRetrieveBooksPerPublisher() {

    Aggregation aggregation = newAggregation( //
            group("volumeInfo.publisher") //
                    .count().as("count"), //
            sort(Direction.DESC, "count"), //
            project("count").and("_id").as("publisher"));

    AggregationResults<BooksPerPublisher> result = operations.aggregate(aggregation, "books", BooksPerPublisher.class);

    assertThat(result).hasSize(27);
    assertThat(result).extracting("publisher").containsSequence("Apress", "Packt Publishing Ltd");
    assertThat(result).extracting("count").containsSequence(26, 22, 11);
}
项目:spring-data-examples    文件:SpringBooksIntegrationTests.java   
/**
 * Filter for Data-related books in their title and output the title and authors.
 */
@Test
public void shouldRetrieveDataRelatedBooks() {

    Aggregation aggregation = newAggregation( //
            match(Criteria.where("volumeInfo.title").regex("data", "i")), //
            replaceRoot("volumeInfo"), //
            project("title", "authors"), //
            sort(Direction.ASC, "title"));

    AggregationResults<BookAndAuthors> result = operations.aggregate(aggregation, "books", BookAndAuthors.class);

    BookAndAuthors bookAndAuthors = result.getMappedResults().get(1);

    assertThat(bookAndAuthors.getTitle()).isEqualTo("Spring Data");
    assertThat(bookAndAuthors.getAuthors()).contains("Mark Pollack", "Oliver Gierke", "Thomas Risberg", "Jon Brisbin",
            "Michael Hunger");
}
项目:spring-data-examples    文件:SpringBooksIntegrationTests.java   
/**
 * Retrieve the number of pages per author (and divide the number of pages by the number of authors).
 */
@Test
public void shouldRetrievePagesPerAuthor() {

    Aggregation aggregation = newAggregation( //
            match(Criteria.where("volumeInfo.authors").exists(true)), //
            replaceRoot("volumeInfo"), //
            project("authors", "pageCount") //
                    .and(ArithmeticOperators.valueOf("pageCount") //
                            .divideBy(ArrayOperators.arrayOf("authors").length()))
                    .as("pagesPerAuthor"),
            unwind("authors"), //
            group("authors") //
                    .sum("pageCount").as("totalPageCount") //
                    .sum("pagesPerAuthor").as("approxWritten"), //
            sort(Direction.DESC, "totalPageCount"));

    AggregationResults<PagesPerAuthor> result = operations.aggregate(aggregation, "books", PagesPerAuthor.class);

    PagesPerAuthor pagesPerAuthor = result.getMappedResults().get(0);

    assertThat(pagesPerAuthor.getAuthor()).isEqualTo("Josh Long");
    assertThat(pagesPerAuthor.getTotalPageCount()).isEqualTo(1892);
    assertThat(pagesPerAuthor.getApproxWritten()).isEqualTo(573);
}
项目:uckefu    文件:UserController.java   
@RequestMapping("/center/fans")
@Menu(type = "apps" , subtype = "user" , name="fans" , access = false)
public ModelAndView centerfans(HttpServletRequest request , HttpServletResponse response, @Valid String orgi, @Valid String q) {
    ModelAndView view = request(super.createAppsTempletResponse("/apps/user/centerfans")) ;
    String userid = super.getUser(request).getId() ;
    Pageable page = new PageRequest(super.getP(request), super.getPs(request), new Sort(Direction.DESC, "createtime")) ;
    Page<Fans> fansList = fansRes.findByUser(userid, page) ;

    List<String> userids = new ArrayList<String>();
    for(Fans fan : fansList){
        userids.add(fan.getCreater()) ;
    }
    if(userids.size()>0){
        view.addObject("fansList",new PageImpl<User>(userRes.findAll(userids), page, fansList.getTotalElements()) ) ;
    }

    return view;
}
项目:uckefu    文件:UserController.java   
@RequestMapping("/center/follows")
@Menu(type = "apps" , subtype = "user" , name="follows" , access = false)
public ModelAndView centerfollows(HttpServletRequest request , HttpServletResponse response, @Valid String orgi, @Valid String q) {
    ModelAndView view = request(super.createAppsTempletResponse("/apps/user/centerfollows")) ;
    String userid = super.getUser(request).getId() ;
    Pageable page = new PageRequest(super.getP(request), super.getPs(request), new Sort(Direction.DESC, "createtime")) ;
    Page<Fans> fansList = fansRes.findByCreater(userid, page) ;

    List<String> userids = new ArrayList<String>();
    for(Fans fan : fansList){
        userids.add(fan.getUser()) ;
    }
    if(userids.size()>0){
        view.addObject("fansList",new PageImpl<User>(userRes.findAll(userids), page, fansList.getTotalElements()) ) ;
    }


    return view;
}
项目:ponto-inteligente-api    文件:LancamentoController.java   
/**
 * Retorna a listagem de lançamentos de um funcionário.
 * 
 * @param funcionarioId
 * @return ResponseEntity<Response<LancamentoDto>>
 */
@GetMapping(value = "/funcionario/{funcionarioId}")
public ResponseEntity<Response<Page<LancamentoDto>>> listarPorFuncionarioId(
        @PathVariable("funcionarioId") Long funcionarioId,
        @RequestParam(value = "pag", defaultValue = "0") int pag,
        @RequestParam(value = "ord", defaultValue = "id") String ord,
        @RequestParam(value = "dir", defaultValue = "DESC") String dir) {
    log.info("Buscando lançamentos por ID do funcionário: {}, página: {}", funcionarioId, pag);
    Response<Page<LancamentoDto>> response = new Response<Page<LancamentoDto>>();

    PageRequest pageRequest = new PageRequest(pag, this.qtdPorPagina, Direction.valueOf(dir), ord);
    Page<Lancamento> lancamentos = this.lancamentoService.buscarPorFuncionarioId(funcionarioId, pageRequest);
    Page<LancamentoDto> lancamentosDto = lancamentos.map(lancamento -> this.converterLancamentoDto(lancamento));

    response.setData(lancamentosDto);
    return ResponseEntity.ok(response);
}
项目:plumdo-work    文件:BaseResource.java   
public Pageable getPageable(Map<String, String> requestParams) {
    int page = RequestUtil.getInteger(requestParams, "pageNum", 1) - 1;
    int size = RequestUtil.getInteger(requestParams, "pageSize", 10);
    String[] orders = RequestUtil.getArray(requestParams, "sortOrder");
    String[] sorts = RequestUtil.getArray(requestParams, "sortName");

    List<Order> sortOrders = new ArrayList<Order>();
    for (int i = 0; i < sorts.length; i++) {
        String sort = sorts[i];
        String order = orders[i];
        if (order.equals("asc")) {
            sortOrders.add(new Order(Direction.ASC, sort));
        } else if (order.equals("desc")) {
            sortOrders.add(new Order(Direction.DESC, sort));
        } else {
            throw new IllegalArgumentException("Value for param 'order' is not valid : '" + order + "', must be 'asc' or 'desc'");
        }
    }

    if (sortOrders.isEmpty()) {
        return new PageRequest(page, size);
    } else {
        return new PageRequest(page, size, new Sort(sortOrders));
    }
}
项目:bootstrap    文件:PaginationJson.java   
/**
 * Build and return a new {@link PageRequest} from the page information and ordering.
 * 
 * @param ormMapping
 *            The mapping from JSon name to ORM property or function.
 * @param parameters
 *            The available query parameters.
 * @param pageLength
 *            The resolved page length.
 * @param firstPage
 *            The page index.
 * @param column
 *            The sorted column name.
 * @param caseSensitiveColumns
 *            Optional JSon columns name where the case sensitive ordering is requested. The "lower" function will
 *            not be
 *            used for the "ORDER BY" in this case.
 * @return The new {@link PageRequest} with pagination and order.
 */
@NotNull
private PageRequest newSortedPageRequest(final Map<String, String> ormMapping, final MultivaluedMap<String, String> parameters,
        final int pageLength, final int firstPage, final String column, final Collection<String> caseSensitiveColumns) {
    final String direction = getSortDirection(parameters);
    final PageRequest pageRequest;
    final String ormProperty = getOrmColumn(ormMapping, column);
    if (ormProperty == null) {
        // Not enough information for build an ORDER BY
        pageRequest = PageRequest.of(firstPage, pageLength);
    } else {
        // Ordering query can be built
        final Sort sort;
        if ((caseSensitiveColumns == null || !caseSensitiveColumns.contains(column)) && ormProperty.indexOf('(') == -1) {
            if (ormProperty.indexOf('.') == -1) {
                sort = Sort.by(new Sort.Order(Direction.valueOf(direction.toUpperCase(Locale.ENGLISH)), ormProperty).ignoreCase());
            } else {
                sort = JpaSort.unsafe(Direction.valueOf(direction.toUpperCase(Locale.ENGLISH)), "UPPER(" + ormProperty + ")");
            }
        } else {
            sort = JpaSort.unsafe(Direction.valueOf(direction.toUpperCase(Locale.ENGLISH)), ormProperty);
        }
        pageRequest = PageRequest.of(firstPage, pageLength, sort);
    }
    return pageRequest;
}
项目:bootstrap    文件:PaginationDaoTest.java   
/**
 * Default find all, empty rules, with sorting on a mapped column.
 */
@Test
public void testFindAllWithSorting2() {
    final UiPageRequest uiPageRequest = new UiPageRequest();
    uiPageRequest.setUiSort(new UiSort());
    uiPageRequest.getUiSort().setColumn("any");
    uiPageRequest.getUiSort().setDirection(Direction.DESC);
    uiPageRequest.setPageSize(10);
    final Map<String, String> mapping = new HashMap<>();
    mapping.put("any", "dialLong");
    final Page<SystemDialect> findAll = paginationDao.findAll(SystemDialect.class, uiPageRequest, mapping, null, null);
    Assert.assertTrue(findAll.hasContent());
    Assert.assertEquals(10, findAll.getSize());
    Assert.assertEquals(COUNT, findAll.getTotalElements());
    Assert.assertEquals(COUNT / 10, findAll.getTotalPages());
    Assert.assertEquals(10, findAll.getContent().size());
    Assert.assertEquals(Long.valueOf(COUNT - 1), findAll.getContent().get(0).getDialLong());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Sorted direction with ordering and corresponding ORM column.
 */
@Test
public void getPageRequestFullOrdering() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add(DataTableAttributes.PAGE_LENGTH, "100");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORTED_COLUMN, "2");
    uriInfo.getQueryParameters().add("columns[2][data]", "col1");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORT_DIRECTION, "asc");
    final Map<String, String> map = Collections.singletonMap("col1", "colOrm");
    final PageRequest pageRequest = paginationJson.getPageRequest(uriInfo, map);
    Assert.assertNotNull(pageRequest);
    Assert.assertNotNull(pageRequest.getSort());
    Assert.assertEquals(0, pageRequest.getOffset());
    Assert.assertEquals(0, pageRequest.getPageNumber());
    Assert.assertNull(pageRequest.getSort().getOrderFor("colOrm?"));
    Assert.assertNotNull(pageRequest.getSort().getOrderFor("colOrm"));
    Assert.assertEquals(Direction.ASC, pageRequest.getSort().getOrderFor("colOrm").getDirection());
    Assert.assertTrue(pageRequest.getSort().getOrderFor("colOrm").isIgnoreCase());
    Assert.assertEquals(100, pageRequest.getPageSize());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Sorted direction with ordering and corresponding ORM column.
 */
@Test
public void getPageRequestFullOrderingMixProvider() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add(DataTableAttributes.PAGE_LENGTH, "100");
    uriInfo.getQueryParameters().add("sidx", "col1");
    uriInfo.getQueryParameters().add("sortd", "asc");
    final Map<String, String> map = Collections.singletonMap("col1", "colOrm");
    final PageRequest pageRequest = paginationJson.getPageRequest(uriInfo, map);
    Assert.assertNotNull(pageRequest);
    Assert.assertNotNull(pageRequest.getSort());
    Assert.assertEquals(0, pageRequest.getOffset());
    Assert.assertEquals(0, pageRequest.getPageNumber());
    Assert.assertNull(pageRequest.getSort().getOrderFor("colOrm?"));
    Assert.assertNotNull(pageRequest.getSort().getOrderFor("colOrm"));
    Assert.assertEquals(Direction.ASC, pageRequest.getSort().getOrderFor("colOrm").getDirection());
    Assert.assertTrue(pageRequest.getSort().getOrderFor("colOrm").isIgnoreCase());
    Assert.assertEquals(100, pageRequest.getPageSize());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Sorted direction with ordering and corresponding ORM column.
 */
@Test
public void getPageRequestIdentityMapping() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add("sidx", "col1");
    uriInfo.getQueryParameters().add("sortd", "asc");
    final Map<String, String> map = Collections.singletonMap("*", "*");
    final PageRequest pageRequest = paginationJson.getPageRequest(uriInfo, map);
    Assert.assertNotNull(pageRequest);
    Assert.assertNotNull(pageRequest.getSort());
    Assert.assertEquals(0, pageRequest.getOffset());
    Assert.assertEquals(0, pageRequest.getPageNumber());
    Assert.assertNull(pageRequest.getSort().getOrderFor("col1?"));
    Assert.assertNotNull(pageRequest.getSort().getOrderFor("col1"));
    Assert.assertEquals(Direction.ASC, pageRequest.getSort().getOrderFor("col1").getDirection());
    Assert.assertTrue(pageRequest.getSort().getOrderFor("col1").isIgnoreCase());
    Assert.assertEquals(10, pageRequest.getPageSize());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Sorted direction with ordering and corresponding ORM column.
 */
@Test
public void getPageRequestFullOrderingAlias() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add(DataTableAttributes.PAGE_LENGTH, "100");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORTED_COLUMN, "2");
    uriInfo.getQueryParameters().add("columns[2][data]", "col1");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORT_DIRECTION, "asc");
    final Map<String, String> map = Collections.singletonMap("col1", "c.colOrm");
    final PageRequest pageRequest = paginationJson.getPageRequest(uriInfo, map);
    Assert.assertNotNull(pageRequest);
    Assert.assertNotNull(pageRequest.getSort());
    Assert.assertEquals(0, pageRequest.getOffset());
    Assert.assertEquals(0, pageRequest.getPageNumber());
    Assert.assertNull(pageRequest.getSort().getOrderFor("c.colOrm?"));
    Assert.assertNotNull(pageRequest.getSort().getOrderFor("UPPER(c.colOrm)"));
    Assert.assertEquals(Direction.ASC, pageRequest.getSort().getOrderFor("UPPER(c.colOrm)").getDirection());
    Assert.assertEquals(100, pageRequest.getPageSize());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Sorted columns with direction.
 */
@Test
public void getPageRequestSortedColumnWithFunction() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add(DataTableAttributes.PAGE_LENGTH, "100");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORTED_COLUMN, "2");
    uriInfo.getQueryParameters().add("columns[2][data]", "col1");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORT_DIRECTION, "asc");
    final Map<String, String> map = Collections.singletonMap("col1", "COUNT(colOrm)");
    final PageRequest pageRequest = paginationJson.getPageRequest(uriInfo, map);
    Assert.assertNotNull(pageRequest);
    Assert.assertNotNull(pageRequest.getSort());
    Assert.assertEquals(0, pageRequest.getOffset());
    Assert.assertEquals(0, pageRequest.getPageNumber());
    Assert.assertNull(pageRequest.getSort().getOrderFor("colOrm"));
    Assert.assertNotNull(pageRequest.getSort().getOrderFor("COUNT(colOrm)"));
    Assert.assertEquals(Direction.ASC, pageRequest.getSort().getOrderFor("COUNT(colOrm)").getDirection());
    Assert.assertFalse(pageRequest.getSort().getOrderFor("COUNT(colOrm)").isIgnoreCase());
    Assert.assertEquals(100, pageRequest.getPageSize());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Sorted columns with direction.
 */
@Test
public void getPageRequestCaseSensitiveOder() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add(DataTableAttributes.PAGE_LENGTH, "100");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORTED_COLUMN, "2");
    uriInfo.getQueryParameters().add("columns[2][data]", "col1");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORT_DIRECTION, "asc");
    final PageRequest pageRequest = paginationJson.getPageRequest(uriInfo, Collections.singletonMap("col1", "colOrm"),
            Collections.singleton("col1"));
    Assert.assertNotNull(pageRequest);
    Assert.assertNotNull(pageRequest.getSort());
    Assert.assertEquals(0, pageRequest.getOffset());
    Assert.assertEquals(0, pageRequest.getPageNumber());
    Assert.assertNotNull(pageRequest.getSort().getOrderFor("colOrm"));
    Assert.assertEquals(Direction.ASC, pageRequest.getSort().getOrderFor("colOrm").getDirection());
    Assert.assertFalse(pageRequest.getSort().getOrderFor("colOrm").isIgnoreCase());
    Assert.assertEquals(100, pageRequest.getPageSize());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Sorted columns with direction.
 */
@Test
public void getPageRequestCaseInsensitiveOder() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add(DataTableAttributes.PAGE_LENGTH, "100");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORTED_COLUMN, "2");
    uriInfo.getQueryParameters().add("columns[2][data]", "col1");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORT_DIRECTION, "asc");
    final PageRequest pageRequest = paginationJson.getPageRequest(uriInfo, Collections.singletonMap("col1", "colOrm"),
            Collections.singleton("any"));
    Assert.assertNotNull(pageRequest);
    Assert.assertNotNull(pageRequest.getSort());
    Assert.assertEquals(0, pageRequest.getOffset());
    Assert.assertEquals(0, pageRequest.getPageNumber());
    Assert.assertNotNull(pageRequest.getSort().getOrderFor("colOrm"));
    Assert.assertEquals(Direction.ASC, pageRequest.getSort().getOrderFor("colOrm").getDirection());
    Assert.assertTrue(pageRequest.getSort().getOrderFor("colOrm").isIgnoreCase());
    Assert.assertEquals(100, pageRequest.getPageSize());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Sorted columns with direction.
 */
@Test
public void getPageRequestCaseInsensitiveOderAlias() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add(DataTableAttributes.PAGE_LENGTH, "100");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORTED_COLUMN, "2");
    uriInfo.getQueryParameters().add("columns[2][data]", "col1");
    uriInfo.getQueryParameters().add(DataTableAttributes.SORT_DIRECTION, "asc");
    final PageRequest pageRequest = paginationJson.getPageRequest(uriInfo, Collections.singletonMap("col1", "c.colOrm"),
            Collections.singleton("any"));
    Assert.assertNotNull(pageRequest);
    Assert.assertNotNull(pageRequest.getSort());
    Assert.assertEquals(0, pageRequest.getOffset());
    Assert.assertEquals(0, pageRequest.getPageNumber());
    Assert.assertNotNull(pageRequest.getSort().getOrderFor("UPPER(c.colOrm)"));
    Assert.assertEquals(Direction.ASC, pageRequest.getSort().getOrderFor("UPPER(c.colOrm)").getDirection());
    Assert.assertEquals(100, pageRequest.getPageSize());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Simple page request with default values but sorted column.
 */
@Test
public void getUiPageRequestSimpleSortDesc() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add("page", "1");
    uriInfo.getQueryParameters().add("rows", String.valueOf(PaginationJson.DEFAULT_PAGE_SIZE));
    uriInfo.getQueryParameters().add("sord", "desc");
    uriInfo.getQueryParameters().add("sidx", "colX");
    final UiPageRequest pageRequest = paginationJson.getUiPageRequest(uriInfo);
    Assert.assertNotNull(pageRequest);
    Assert.assertEquals(1, pageRequest.getPage());
    Assert.assertEquals(10, pageRequest.getPageSize());
    Assert.assertNotNull(pageRequest.getUiFilter());
    Assert.assertNull(pageRequest.getUiFilter().getGroupOp());
    Assert.assertNull(pageRequest.getUiFilter().getRules());
    Assert.assertNotNull(pageRequest.getUiSort());
    Assert.assertEquals("colX", pageRequest.getUiSort().getColumn());
    Assert.assertEquals(Direction.DESC, pageRequest.getUiSort().getDirection());
}
项目:bootstrap    文件:PaginationJsonTest.java   
/**
 * Simple page request with default values but sorted column.
 */
@Test
public void getUiPageRequestSimpleSort() {
    // create a mock URI info with pagination informations
    final UriInfo uriInfo = newUriInfo();
    uriInfo.getQueryParameters().add("sidx", "colX");
    final UiPageRequest pageRequest = paginationJson.getUiPageRequest(uriInfo);
    Assert.assertNotNull(pageRequest);
    Assert.assertEquals(1, pageRequest.getPage());
    Assert.assertEquals(10, pageRequest.getPageSize());
    Assert.assertNotNull(pageRequest.getUiFilter());
    Assert.assertNull(pageRequest.getUiFilter().getGroupOp());
    Assert.assertNull(pageRequest.getUiFilter().getRules());
    Assert.assertNotNull(pageRequest.getUiSort());
    Assert.assertEquals("colX", pageRequest.getUiSort().getColumn());
    Assert.assertEquals(Direction.ASC, pageRequest.getUiSort().getDirection());
}
项目:spring-data-mapdb    文件:BookMapDbExampleTests.java   
@Test
public void testFindByFieldsInExample() {
    List<Book> booksFromRepository = bookRepository.findByTitle(books.get(0).getTitle());
    assertTrue(CollectionUtils.isNotEmpty(booksFromRepository));
    assertEquals(books.get(0), booksFromRepository.get(0));
    booksFromRepository.clear();

    booksFromRepository = bookRepository.findByGenre(books.get(0).getGenre(), new Sort(Direction.DESC, "pages"));
    assertTrue(CollectionUtils.isNotEmpty(booksFromRepository));
    assertEquals(3, booksFromRepository.size());
    assertEquals(books.get(1), booksFromRepository.get(0));
    booksFromRepository.clear();

    booksFromRepository = bookRepository.findByGenreAndPages(books.get(0).getGenre(), books.get(0).getPages());
    assertTrue(CollectionUtils.isNotEmpty(booksFromRepository));
    assertEquals(books.get(0), booksFromRepository.get(0));

    booksFromRepository = bookRepository.findByGenre(books.get(0).getGenre(), new PageRequest(0, 2));
    assertTrue(CollectionUtils.isNotEmpty(booksFromRepository));
    assertEquals(2, booksFromRepository.size());

}
项目:smarti    文件:ConversationRepositoryImpl.java   
@Override
public List<String> findTagsByPattern(Pattern pattern, int limit) {
    final Aggregation agg = newAggregation(
            project("meta.tags"),
            unwind("tags"),
            group("tags").count().as("count"),
            project("count").and("tags").previousOperation(),
            match(where("tags").regex(pattern)),
            sort(Direction.ASC, "tags"),
            limit(limit));

    final AggregationResults<DBObject> results = mongoTemplate.aggregate(agg, Conversation.class, DBObject.class);
    return results.getMappedResults()
            .stream()
            .map(i -> (String) i.get("tags"))
            .collect(Collectors.toList());
}
项目:smarti    文件:ConversationRepositoryImpl.java   
@Override
public List<Pair<String, Long>> findTags(long limit, long offset) {
    final Aggregation agg = newAggregation(
            project("meta.tags"),
            unwind("tags"),
            group("tags").count().as("count"),
            project("count").and("tags").previousOperation(),
            sort(Direction.DESC, "count"),
            skip(offset),
            limit(limit));

    final AggregationResults<DBObject> results = mongoTemplate.aggregate(agg, Conversation.class, DBObject.class);
    return results.getMappedResults()
            .stream()
            .map(i -> new ImmutablePair<>((String) i.get("tags"), (long) i.get("count")))
            .collect(Collectors.toList());
}
项目:helium    文件:PaginacioHelper.java   
public <T> Pageable toSpringDataPageable(
        PaginacioParamsDto dto,
        Map<String, String> mapeigPropietatsOrdenacio) {
    List<Order> orders = new ArrayList<Order>();
    if (dto.getOrdres() != null) {
        for (OrdreDto ordre: dto.getOrdres()) {
            Direction direccio = OrdreDireccioDto.DESCENDENT.equals(ordre.getDireccio()) ? Sort.Direction.DESC : Sort.Direction.ASC;
            String propietat = ordre.getCamp();
            if (mapeigPropietatsOrdenacio != null) {
                String mapeig = mapeigPropietatsOrdenacio.get(ordre.getCamp());
                if (mapeig != null)
                    propietat = mapeig;
            } else {
                propietat = ordre.getCamp();
            }
            orders.add(new Order(
                    direccio,
                    propietat));
        }
    }
    return new PageRequest(
            dto.getPaginaNum(),
            dto.getPaginaTamany(),
            new Sort(orders));
}
项目:oma-riista-web    文件:MobileGameDiaryFeature.java   
@Transactional(readOnly = true)
public List<MobileHarvestDTO> getHarvests(
        final int firstCalendarYearOfHuntingYear, @Nonnull final HarvestSpecVersion harvestSpecVersion) {

    Objects.requireNonNull(harvestSpecVersion, "harvestSpecVersion must not be null");

    final Person person = activeUserService.requireActivePerson();

    // Harvest-specific authorization built into query
    final List<Harvest> harvests = harvestRepository.findAll(
            where(shooter(person))
                    .and(harvestsByHuntingYear(firstCalendarYearOfHuntingYear)),
            temporalSort(Direction.ASC));

    return harvestDtoTransformer.apply(harvests, harvestSpecVersion);
}
项目:oma-riista-web    文件:MobileGameDiaryFeature.java   
@Transactional(readOnly = true)
public List<MobileObservationDTO> getObservations(
        final int firstCalendarYearOfHuntingYear, @Nonnull final ObservationSpecVersion observationSpecVersion) {

    Objects.requireNonNull(observationSpecVersion, "observationSpecVersion must not be null");

    final Person person = activeUserService.requireActivePerson();

    // Observation-specific authorization built into query
    final List<Observation> observations = observationRepository.findAll(
            where(observer(person))
                    .and(observationsByHuntingYear(firstCalendarYearOfHuntingYear)),
            temporalSort(Direction.ASC));

    return observationDtoTransformer.apply(observations, observationSpecVersion);
}
项目:parking-api    文件:VeiculoController.java   
/**
 * Retorna os Veiculos de acordo com o filtro.
 * 
 * @param placa
 *            Número da Placa do Veiculo. Busca com like à direita.
 * @return todos os Veiculos do Usuário paginado de 10 em 10.
 */
@RequestMapping(value = "/pesquisar", method = RequestMethod.GET)
@ApiOperation(value = "Pesquisa de Veículo")
public ResponseEntity<Page<Veiculo>> pesquisar(
        @RequestParam(name = "placa", required = true) String placa, 
        @PageableDefault(sort = { "placa" }, direction = Direction.ASC) Pageable pageable) {

    // Não permite caracteres especiais na busca
    Validate.isTrue(StringUtils.isAlphanumeric(placa));

    Predicate predicate = QVeiculo.veiculo.placa.like(placa.toUpperCase() + '%');

    Page<Veiculo> page = veiculoRepository.findAll(predicate, pageable);

    page.forEach(v -> v.getProprietario().getId()); // TODO buscar uma
                                                    // forma de arrumar
                                                    // no
                                                    // QueryDslPredicateExecutor
    return new ResponseEntity<>(page, HttpStatus.OK);
}
项目:pcm-api    文件:ValueSetServiceImpl.java   
@Override
public Map<String, Object> findAll(int pageNumber) {
    logger.debug("Finding all valueSets with paging");
    Sort sort = new Sort(new Order(Direction.ASC, "code"));
    PageRequest pageRequest = new PageRequest(pageNumber,
            VALUE_SET_PAGE_SIZE, sort);

    Page<ValueSet> valueSets = valueSetRepository.findAll(pageRequest);

    Map<String, Object> pageResultsMap = new HashMap<String, Object>();
    pageResultsMap.put("valueSets",
            setDeletableToValueSetDto((valueSets.getContent())));
    pageResultsMap.put("totalNumberOfValueSets",
            valueSets.getTotalElements());
    pageResultsMap.put("totalPages", valueSets.getTotalPages());
    pageResultsMap.put("itemsPerPage", valueSets.getSize());
    pageResultsMap.put("currentPage", valueSets.getNumber());
    pageResultsMap.put("numberOfElements", valueSets.getNumberOfElements());

    return pageResultsMap;
}
项目:pcm-api    文件:ValueSetServiceImpl.java   
@Override
public Map<String, Object> findAllByName(String searchTerm,
                                         String valueSetCategory, int pageNumber) {

    Sort sort = new Sort(new Order(Direction.ASC, "code"));
    PageRequest pageRequest = new PageRequest(pageNumber,
            VALUE_SET_PAGE_SIZE, sort);

    Page<ValueSet> pagedValueSets = valueSetRepository.findAllByNameLike(
            "%" + searchTerm + "%", "%" + valueSetCategory + "%",
            pageRequest);

    Map<String, Object> pageResultsMap = new HashMap<String, Object>();
    pageResultsMap.put("valueSets",
            setDeletableToValueSetDto(pagedValueSets.getContent()));
    pageResultsMap.put("totalNumberOfValueSets",
            pagedValueSets.getTotalElements());
    pageResultsMap.put("totalPages", pagedValueSets.getTotalPages());
    pageResultsMap.put("itemsPerPage", pagedValueSets.getSize());
    pageResultsMap.put("currentPage", pagedValueSets.getNumber());
    pageResultsMap.put("numberOfElements",
            pagedValueSets.getNumberOfElements());

    return pageResultsMap;

}
项目:pcm-api    文件:ValueSetServiceImpl.java   
@Override
public Map<String, Object> findAllByCode(String searchTerm,
                                         String valueSetCategory, int pageNumber) {

    Sort sort = new Sort(new Order(Direction.ASC, "code"));
    PageRequest pageRequest = new PageRequest(pageNumber,
            VALUE_SET_PAGE_SIZE, sort);

    Page<ValueSet> pagedValueSets = valueSetRepository.findAllByCodeLike(
            "%" + searchTerm + "%", "%" + valueSetCategory + "%",
            pageRequest);

    Map<String, Object> pageResultsMap = new HashMap<String, Object>();
    pageResultsMap.put("valueSets",
            setDeletableToValueSetDto(pagedValueSets.getContent()));
    pageResultsMap.put("totalNumberOfValueSets",
            pagedValueSets.getTotalElements());
    pageResultsMap.put("totalPages", pagedValueSets.getTotalPages());
    pageResultsMap.put("itemsPerPage", pagedValueSets.getSize());
    pageResultsMap.put("currentPage", pagedValueSets.getNumber());
    pageResultsMap.put("numberOfElements",
            pagedValueSets.getNumberOfElements());

    return pageResultsMap;
}
项目:pcm-api    文件:ConsentServiceImpl.java   
@Override
@Transactional(readOnly = true)
public Map<String, Object> findAllConsentsDtoByPatientAndPage(Long patientId, String pageNumber) {
    final Patient patient = patientRepository.findOne(patientId);

    PageRequest page = new PageRequest(Integer.parseInt(pageNumber), 5,
            Direction.DESC, "startDate");


    final Page<Consent> pages = consentRepository.findByPatient(patient, page);
    List<ConsentListDto> consentListDtos = makeConsentListDtos();
    if (pages != null) {
        consentListDtos = consentListToConsentListDtosConverter(pages.getContent());
    }

    Map<String, Object> pageResultsMap = new HashMap<String, Object>();
    pageResultsMap.put("results", consentListDtos);
    pageResultsMap.put("totalItems", pages.getTotalElements());
    pageResultsMap.put("totalPages", pages.getTotalPages());
    pageResultsMap.put("itemsPerPage", pages.getSize());
    pageResultsMap.put("currentPage", pages.getNumber());

    return pageResultsMap;
}
项目:p6spy-it-spring-boot    文件:HotelRepositoryIntegrationTests.java   
@Test
public void executesQueryMethodsCorrectly() {
    City city = this.cityRepository
            .findAll(new PageRequest(0, 1, Direction.ASC, "name")).getContent()
            .get(0);
    assertThat(city.getName()).isEqualTo("Atlanta");

    Page<HotelSummary> hotels = this.repository.findByCity(city,
            new PageRequest(0, 10, Direction.ASC, "name"));
    Hotel hotel = this.repository.findByCityAndName(city,
            hotels.getContent().get(0).getName());
    assertThat(hotel.getName()).isEqualTo("Doubletree");

    List<RatingCount> counts = this.repository.findRatingCounts(hotel);
    assertThat(counts).hasSize(1);
    assertThat(counts.get(0).getRating()).isEqualTo(Rating.AVERAGE);
    assertThat(counts.get(0).getCount()).isGreaterThan(1L);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:HotelRepositoryIntegrationTests.java   
@Test
public void executesQueryMethodsCorrectly() {
    City city = this.cityRepository
            .findAll(new PageRequest(0, 1, Direction.ASC, "name")).getContent()
            .get(0);
    assertThat(city.getName()).isEqualTo("Atlanta");

    Page<HotelSummary> hotels = this.repository.findByCity(city,
            new PageRequest(0, 10, Direction.ASC, "name"));
    Hotel hotel = this.repository.findByCityAndName(city,
            hotels.getContent().get(0).getName());
    assertThat(hotel.getName()).isEqualTo("Doubletree");

    List<RatingCount> counts = this.repository.findRatingCounts(hotel);
    assertThat(counts).hasSize(1);
    assertThat(counts.get(0).getRating()).isEqualTo(Rating.AVERAGE);
    assertThat(counts.get(0).getCount()).isGreaterThan(1L);
}