@Override public Sort deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { final ArrayNode node = jsonParser.getCodec().readTree(jsonParser); final Order[] orders = new Order[node.size()]; int i = 0; for (JsonNode jsonNode : node) { orders[i] = new Order(Direction.valueOf(jsonNode.get("direction").asText()), jsonNode.get("property").asText()); i++; } return new Sort(orders); }
/** * Returns the {@link Direction} enum for the given {@link String} value. * * @param value * @return */ public static Direction fromString(String value) { try { return Direction.valueOf(value.toUpperCase(Locale.US)); } catch (Exception e) { throw new IllegalArgumentException(String.format( "Invalid value '%s' for orders given! Has to be either 'desc' or 'asc' (case insensitive).", value), e); } } }
public static Pageable initPage(PageVo page){ Pageable pageable=null; int pageNumber=page.getPageNumber(); int pageSize=page.getPageSize(); String sort=page.getSort(); String order=page.getOrder(); if(pageNumber<1){ pageNumber=1; } if(pageSize<1){ pageSize=10; } if(StrUtil.isNotBlank(sort)) { Sort.Direction d; if(StrUtil.isBlank(order)) { d = Sort.Direction.DESC; }else { d = Sort.Direction.valueOf(order.toUpperCase()); } Sort s = new Sort(d,sort); pageable = PageRequest.of(pageNumber-1, pageSize,s); }else { pageable = PageRequest.of(pageNumber-1, pageSize); } return pageable; } }
&& 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 + ")"); sort = JpaSort.unsafe(Direction.valueOf(direction.toUpperCase(Locale.ENGLISH)), ormProperty);
public static Pageable initPage(PageVo page){ Pageable pageable = null; int pageNumber = page.getPageNumber(); int pageSize = page.getPageSize(); String sort = page.getSort(); String order = page.getOrder(); if(pageNumber<1){ pageNumber = 1; } if(pageSize<1){ pageSize = 10; } if(StrUtil.isNotBlank(sort)) { Sort.Direction d; if(StrUtil.isBlank(order)) { d = Sort.Direction.DESC; }else { d = Sort.Direction.valueOf(order.toUpperCase()); } Sort s = new Sort(d,sort); pageable = PageRequest.of(pageNumber-1, pageSize,s); }else { pageable = PageRequest.of(pageNumber-1, pageSize); } return pageable; } }
/** * 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); }
/** * Return the sort object. * * @param sortColumn * the optional ordered column. * @param sorDirection * the optional sort order. Default is {@link Direction#ASC}. * @return <tt>null</tt> or sort object. */ private UiSort buildSort(final String sortColumn, final String sorDirection) { if (sortColumn == null) { return null; } final UiSort sort = new UiSort(); sort.setColumn(sortColumn); sort.setDirection(Optional.ofNullable(sorDirection).map(d -> Direction.valueOf(d.toUpperCase(Locale.ENGLISH))) .orElse(Direction.ASC)); return sort; }
/** * Returns the {@link Direction} enum for the given {@link String} value. * * @param value * @throws IllegalArgumentException in case the given value cannot be parsed into an enum value. * @return */ public static Direction fromString(String value) { try { return Direction.valueOf(value.toUpperCase(Locale.US)); } catch (Exception e) { throw new IllegalArgumentException(String.format( "Invalid value '%s' for orders given! Has to be either 'desc' or 'asc' (case insensitive).", value), e); } }
public Page<Categoria> findPage(Integer page, Integer linesPerPage, String orderBy, String direction) { PageRequest pageRequest = PageRequest.of(page, linesPerPage, Direction.valueOf(direction), orderBy); return repo.findAll(pageRequest); }
public Page<Cliente> findPage(Integer page, Integer linesPerPage, String orderBy, String direction) { PageRequest pageRequest = PageRequest.of(page, linesPerPage, Direction.valueOf(direction), orderBy); return repo.findAll(pageRequest); }
public Page<Pedido> findPage(Integer page, Integer linesPerPage, String orderBy, String direction) { UserSS user = UserService.authenticated(); if (user == null) { throw new AuthorizationException("Acesso negado"); } PageRequest pageRequest = PageRequest.of(page, linesPerPage, Direction.valueOf(direction), orderBy); Cliente cliente = clienteService.find(user.getId()); return repo.findByCliente(cliente, pageRequest); } }
public Page<Produto> search(String nome, List<Integer> ids, Integer page, Integer linesPerPage, String orderBy, String direction) { PageRequest pageRequest = PageRequest.of(page, linesPerPage, Direction.valueOf(direction), orderBy); List<Categoria> categorias = categoriaRepository.findAllById(ids); return repo.findDistinctByNomeContainingAndCategoriasIn(nome, categorias, pageRequest); } }