List of usage examples for org.springframework.data.domain Pageable getSort
Sort getSort();
From source file:cn.guoyukun.spring.jpa.entity.search.SearchRequest.java
private void merge(Sort sort, Pageable page) { if (sort == null) { sort = this.sort; }/*from w ww .ja v a2s . c o m*/ if (page == null) { page = this.page; } //?? if (sort == null) { this.sort = page != null ? page.getSort() : null; } else { this.sort = (page != null ? sort.and(page.getSort()) : sort); } //??page if (page != null) { this.page = new PageRequest(page.getPageNumber(), page.getPageSize(), this.sort); } else { this.page = null; } }
From source file:com.luna.common.web.bind.method.annotation.PageableMethodArgumentResolverTest.java
@Test public void testParameterDefaultPageable() throws Exception { MethodParameter parameter = new MethodParameter(parameterDefaultPageable, 0); NativeWebRequest webRequest = new ServletWebRequest(request); Pageable pageable = (Pageable) new PageableMethodArgumentResolver().resolveArgument(parameter, null, webRequest, null);// w w w . jav a 2 s . c o m assertEquals(Controller.DEFAULT_PAGENUMBER, pageable.getPageNumber()); assertEquals(Controller.DEFAULT_PAGESIZE, pageable.getPageSize()); Sort expectedSort = new Sort(Sort.Direction.DESC, "id").and(new Sort(Sort.Direction.ASC, "name")); assertEquals(expectedSort, pageable.getSort()); }
From source file:com.luna.common.web.bind.method.annotation.PageableMethodArgumentResolverTest.java
@Test public void testMethodDefaultPageable() throws Exception { MethodParameter parameter = new MethodParameter(methodDefaultPageable, 0); NativeWebRequest webRequest = new ServletWebRequest(request); Pageable pageable = (Pageable) new PageableMethodArgumentResolver().resolveArgument(parameter, null, webRequest, null);/*from ww w . jav a2 s. c o m*/ assertEquals(Controller.DEFAULT_PAGENUMBER, pageable.getPageNumber()); assertEquals(Controller.DEFAULT_PAGESIZE, pageable.getPageSize()); Sort expectedSort = new Sort(Sort.Direction.DESC, "id").and(new Sort(Sort.Direction.ASC, "name")); assertEquals(expectedSort, pageable.getSort()); }
From source file:org.ngrinder.user.controller.UserController.java
/** * Get user list on the given role.//from w ww .jav a 2s.c o 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.drillmap.crm.repository.extensions.invoker.ReflectionRepositoryInvoker.java
private Object[] prepareParameters(Method method, Map<String, String[]> rawParameters, Pageable pageable, Sort sort) {/*from ww w . j a v a2 s .co m*/ List<MethodParameter> parameters = new MethodParameters(method, PARAM_ANNOTATION).getParameters(); if (parameters.isEmpty()) { return new Object[0]; } Object[] result = new Object[parameters.size()]; Sort sortToUse = pageable == null ? sort : pageable.getSort(); for (int i = 0; i < result.length; i++) { MethodParameter param = parameters.get(i); Class<?> targetType = param.getParameterType(); if (Pageable.class.isAssignableFrom(targetType)) { result[i] = pageable; } else if (Sort.class.isAssignableFrom(targetType)) { result[i] = sortToUse; } else { String parameterName = param.getParameterName(); if (!StringUtils.hasText(parameterName)) { throw new IllegalArgumentException("No @Param annotation found on query method " + method.getName() + " for parameter " + parameterName); } String[] parameterValue = rawParameters.get(parameterName); Object value = parameterValue == null ? null : parameterValue.length == 1 ? parameterValue[0] : parameterValue; result[i] = conversionService.convert(value, TypeDescriptor.forObject(value), new TypeDescriptor(param)); } } return result; }
From source file:org.ngrinder.user.controller.UserController.java
/** * Search user list on the given keyword. * * @param pageable page info/*from w ww . j ava2s .c o m*/ * @param keywords search keyword. * @return json message */ @RestAPI @RequestMapping(value = "/api/search", method = RequestMethod.GET) public HttpEntity<String> search(User user, @PageableDefaults Pageable pageable, @RequestParam(required = true) String keywords) { pageable = new PageRequest(pageable.getPageNumber(), pageable.getPageSize(), defaultIfNull(pageable.getSort(), new Sort(Direction.ASC, "userName"))); Page<User> pagedUser = userService.getPagedAll(keywords, pageable); List<UserSearchResult> result = newArrayList(); for (User each : pagedUser) { result.add(new UserSearchResult(each)); } final String currentUserId = user.getUserId(); CollectionUtils.filter(result, new Predicate() { @Override public boolean evaluate(Object object) { UserSearchResult each = (UserSearchResult) object; return !(each.getId().equals(currentUserId) || each.getId().equals(ControllerConstants.NGRINDER_INITIAL_ADMIN_USERID)); } }); return toJsonHttpEntity(result); }
From source file:com.luna.common.web.bind.method.annotation.PageableMethodArgumentResolverTest.java
@Test public void testParameterDefaultPageableAndOverrideSort() throws Exception { request.setParameter("sort2.id", "desc"); request.setParameter("sort1.baseInfo.realname", "asc"); MethodParameter parameter = new MethodParameter(parameterDefaultPageable, 0); NativeWebRequest webRequest = new ServletWebRequest(request); Pageable pageable = (Pageable) new PageableMethodArgumentResolver().resolveArgument(parameter, null, webRequest, null);// w ww .j av a 2s . c o m assertEquals(Controller.DEFAULT_PAGENUMBER, pageable.getPageNumber()); assertEquals(Controller.DEFAULT_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.luna.common.web.bind.method.annotation.PageableMethodArgumentResolverTest.java
@Test public void testCustomNamePrefixPageableAndSort() throws Exception { int pn = 1;// www .j a v a 2s . c o m int pageSize = 10; request.setParameter("foo_page.pn", String.valueOf(pn)); request.setParameter("foo_page.size", String.valueOf(pageSize)); request.setParameter("foo_sort2.id", "desc"); request.setParameter("foo_sort1.baseInfo.realname", "asc"); MethodParameter parameter = new MethodParameter(customNamePrefixPageableAndSort, 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.luna.common.web.bind.method.annotation.PageableMethodArgumentResolverTest.java
@Test public void testPageableAndUnOrderedSort() throws Exception { int pn = 1;//from www.j a v a 2s. co 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.luna.common.web.bind.method.annotation.PageableMethodArgumentResolverTest.java
@Test public void testPageableAndOrderedSort() throws Exception { int pn = 1;/*from w ww . j a v a2s . co m*/ int pageSize = 10; request.setParameter("page.pn", String.valueOf(pn)); request.setParameter("page.size", String.valueOf(pageSize)); request.setParameter("sort1.baseInfo.realname", "asc"); request.setParameter("sort2.id", "desc"); 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()); }