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

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

Introduction

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

Prototype

private Sort(Direction direction, List<String> properties) 

Source Link

Document

Creates a new Sort instance.

Usage

From source file:com.luna.common.repository.PageAndSortUserRepositoryIT.java

@Test
public void testFindAllForPageAndSort() {
    for (int i = 0; i < 15; i++) {
        userRepository.save(createUser());
    }// ww  w. j av  a2  s.  c  o  m

    Sort.Order idAsc = new Sort.Order(Sort.Direction.ASC, "id");
    Sort.Order usernameDesc = new Sort.Order(Sort.Direction.DESC, "username");
    Sort sort = new Sort(idAsc, usernameDesc);

    PageRequest pageRequest = new PageRequest(1, 5, sort);
    Page<User> page = userRepository.findAll(pageRequest);

    assertEquals(pageRequest.getPageSize(), page.getNumberOfElements());
    assertEquals(3, page.getTotalPages());

    assertTrue(page.getContent().get(0).getId() < page.getContent().get(1).getId());

}

From source file:strat.mining.multipool.stats.persistence.dao.coinshift.impl.AddressStatsDAOMongo.java

@Override
public List<AddressStats> getAddressStats(Integer addressId) {
    Query query = new Query(Criteria.where("addressId").is(addressId));
    query.with(new Sort(Sort.Direction.ASC, "refreshTime"));
    return mongoOperation.find(query, AddressStats.class);
}

From source file:sk.lazyman.gizmo.web.app.PageProjects.java

private void initLayout() {
    Form form = new Form(ID_FORM);
    add(form);//from w  ww  .  j  a v a 2 s  . c  o  m

    TextField searchText = new TextField(ID_SEARCH_TEXT, searchModel);
    searchText.setOutputMarkupId(true);
    form.add(searchText);

    initButtons(form);

    BasicDataProvider provider = new BasicDataProvider(getProjectRepository()) {

        @Override
        public Predicate getPredicate() {
            String text = searchModel.getObject();
            if (StringUtils.isNotEmpty(text)) {
                return QProject.project.name.lower().contains(text.toLowerCase())
                        .or(QProject.project.description.lower().contains(text.toLowerCase()));
            }

            return null;
        }
    };
    provider.setSort(new Sort(new Sort.Order(Sort.Direction.ASC, Project.F_NAME),
            new Sort.Order(Sort.Direction.DESC, Project.F_COMMERCIAL)));

    List<IColumn> columns = new ArrayList<>();

    columns.add(new LinkColumn<Project>(createStringResource("Project.name"), Project.F_NAME) {

        @Override
        public void onClick(AjaxRequestTarget target, IModel<Project> rowModel) {
            projectDetailsPerformed(target, rowModel.getObject());
        }
    });
    columns.add(new PropertyColumn(createStringResource("Project.customer"),
            Project.F_CUSTOMER + "." + Customer.F_NAME));
    columns.add(new PropertyColumn(createStringResource("Project.description"), Project.F_DESCRIPTION));
    columns.add(new PropertyColumn(createStringResource("Project.commercial"), Project.F_COMMERCIAL));
    columns.add(new PropertyColumn(createStringResource("Project.closed"), Project.F_CLOSED));

    TablePanel table = new TablePanel(ID_TABLE, provider, columns, 20);
    table.setOutputMarkupId(true);
    add(table);
}

From source file:uk.gov.nationalarchives.discovery.taxonomy.common.repository.mongo.impl.IAViewUpdateRepositoryImpl.java

@Override
public List<IAViewUpdate> findDocumentsCreatedAfterDocumentAndCreatedBeforeDate(IAViewUpdate afterIAViewUpdate,
        Date ltDate, Integer limit) {
    List<Criteria> listOfCriterias = new ArrayList<Criteria>();
    listOfCriterias.add(new Criteria().orOperator(
            Criteria.where(IAViewUpdate.FIELD_CREATIONDATE).gt(afterIAViewUpdate.getCreationDate()),
            new Criteria().andOperator(
                    Criteria.where(IAViewUpdate.FIELD_CREATIONDATE).gte(afterIAViewUpdate.getCreationDate()),
                    Criteria.where(IAViewUpdate.FIELD_DOCREFERENCE).gt(afterIAViewUpdate.getDocReference()))));
    if (ltDate != null) {
        listOfCriterias.add(Criteria.where(IAViewUpdate.FIELD_CREATIONDATE).lt(ltDate));
    }//  w w  w . java  2s. c  om
    Query query = new Query(new Criteria().andOperator(listOfCriterias.toArray(new Criteria[0])));

    query.limit(limit + 1);
    query.with(new Sort(new Order(Sort.Direction.ASC, IAViewUpdate.FIELD_CREATIONDATE),
            new Order(Sort.Direction.ASC, IAViewUpdate.FIELD_DOCREFERENCE)));
    return mongoTemplate.find(query, IAViewUpdate.class);
}

From source file:cat.albirar.framework.utilities.PageUtilitiesTest.java

/**
 * Test for {@link PageUtilities#copyOrCreatePageable(org.springframework.data.domain.Pageable)} with assigned data.
 *///  w  ww .j  av a  2 s. co  m
@Test
public void testCopyOrCreatePageableAsigned() {
    Pageable pag, r;
    Sort s;

    s = new Sort(Direction.ASC, "name");
    pag = new PageRequest(0, 10, s);
    r = PageUtilities.copyOrCreatePageable(pag);
    Assert.assertNotNull(r);
    Assert.assertEquals(pag, r);
}

From source file:st.malike.service.mongo.DemographicSummaryService.java

public Date getLastInsertDate() {
    Query query = new Query();
    query.skip(0).limit(1).with(new Sort(Sort.Direction.DESC, "dateCreated")); //add the limit so mongodb does not throw an exeception of too much data
    List<DemographicSummary> demographicSummary = mongoTemplate.find(query, DemographicSummary.class,
            "demographic_summary");
    if (demographicSummary == null || demographicSummary.isEmpty()) {
        return null;
    } else {//w w w  .  j  a v  a  2  s  .  co m
        return demographicSummary.get(0).getDateCreated();
    }
}

From source file:strat.mining.multipool.stats.persistence.dao.coinshift.impl.GlobalStatsDAOMongo.java

@Override
public List<GlobalStats> getAllGlobalStats() {
    Query query = new Query();
    query.with(new Sort(Sort.Direction.ASC, "refreshTime"));
    return mongoOperation.find(query, GlobalStats.class);
}

From source file:org.ngrinder.user.controller.UserController.java

/**
 * Get user list on the given role.//w ww  .  ja v a 2s  . co  m
 *
 * @param model    model
 * @param role     role
 * @param pageable page info
 * @param keywords search keyword.
 * @return user/userList
 */
@PreAuthorize("hasAnyRole('A')")
@RequestMapping({ "", "/" })
public String getAll(ModelMap model, @RequestParam(required = false) Role role,
        @PageableDefaults Pageable pageable, @RequestParam(required = false) String keywords) {

    pageable = new PageRequest(pageable.getPageNumber(), pageable.getPageSize(),
            defaultIfNull(pageable.getSort(), new Sort(Direction.ASC, "userName")));
    Page<User> pagedUser;
    if (StringUtils.isEmpty(keywords)) {
        pagedUser = userService.getPagedAll(role, pageable);
    } else {
        pagedUser = userService.getPagedAll(keywords, pageable);
        model.put("keywords", keywords);
    }
    model.addAttribute("users", pagedUser);
    EnumSet<Role> roleSet = EnumSet.allOf(Role.class);
    model.addAttribute("roleSet", roleSet);
    model.addAttribute("role", role);
    putPageIntoModelMap(model, pageable);
    return "user/list";
}

From source file:com.luna.common.web.bind.method.annotation.PageableMethodArgumentResolverTest.java

@Test
public void testPageableAndUnOrderedSort() throws Exception {

    int pn = 1;// w w w. j  av a2 s .c  o  m
    int pageSize = 10;
    request.setParameter("page.pn", String.valueOf(pn));
    request.setParameter("page.size", String.valueOf(pageSize));
    request.setParameter("sort.id", "desc");
    request.setParameter("sort.baseInfo.realname", "asc");

    MethodParameter parameter = new MethodParameter(pageableAndSort, 0);
    NativeWebRequest webRequest = new ServletWebRequest(request);
    Pageable pageable = (Pageable) new PageableMethodArgumentResolver().resolveArgument(parameter, null,
            webRequest, null);

    //-10
    assertEquals(pn - 1, pageable.getPageNumber());
    assertEquals(pageSize, pageable.getPageSize());
    Sort expectedSort = new Sort(Sort.Direction.ASC, "baseInfo.realname")
            .and(new Sort(Sort.Direction.DESC, "id"));
    assertEquals(expectedSort, pageable.getSort());
}

From source file:com.epam.ta.reportportal.core.widget.content.CasesTrendContentLoader.java

@Override
public Map<String, List<ChartObject>> loadContent(Filter filter, Sort sorting, int quantity,
        List<String> contentFields, List<String> metaDataFields, Map<String, List<String>> options) {
    expect(metaDataFields == null || metaDataFields.isEmpty(), equalTo(false))
            .verify(UNABLE_LOAD_WIDGET_CONTENT, "Metadata fields should exist for providing content.");

    /*/*from w ww  .  j a  v  a 2  s.  c o  m*/
     * Return empty map if filter target TestItem. Chart cannot show trend
     * for those filters so its unnecessary to proceed it.
     */
    if (filter.getTarget().getCanonicalName().equalsIgnoreCase(TestItem.class.getName())) {
        return new HashMap<>();
    }

    List<String> allFields = Lists.newArrayList(contentFields);
    allFields.addAll(metaDataFields);
    StatisticsDocumentHandler handler = new StatisticsDocumentHandler(contentFields, metaDataFields);

    // Expecting 'start_time'
    String field = sorting.iterator().next().getProperty();
    // If sorting column not a start_time (it is required sorting for trend
    // charts) then setup it before call loadWithCallback()
    if (!field.equalsIgnoreCase(SORT_FIELD))
        sorting = new Sort(Sort.Direction.DESC, SORT_FIELD);

    launchRepository.loadWithCallback(filter, sorting, quantity, allFields, handler, COLLECTION);
    List<ChartObject> rawData = handler.getResult();

    Map<String, List<ChartObject>> result = new LinkedHashMap<>();
    if ((options.get("timeline") != null) && (Period.findByName(options.get("timeline").get(0)) != null)) {
        Map<String, List<ChartObject>> timeline = maxByDate(rawData,
                Period.findByName(options.get("timeline").get(0)), getTotalFieldName());
        result.putAll(calculateGroupedDiffs(timeline, sorting));
    } else {
        result = calculateDiffs(rawData, sorting);
    }
    return result;
}