@Override public ResponseEntity<PagedList<MgmtTarget>> getTargets( @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_OFFSET) final int pagingOffsetParam, @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_LIMIT) final int pagingLimitParam, @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SORTING, required = false) final String sortParam, @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SEARCH, required = false) final String rsqlParam) { final int sanitizedOffsetParam = PagingUtility.sanitizeOffsetParam(pagingOffsetParam); final int sanitizedLimitParam = PagingUtility.sanitizePageLimitParam(pagingLimitParam); final Sort sorting = PagingUtility.sanitizeTargetSortParam(sortParam); final Pageable pageable = new OffsetBasedPageRequest(sanitizedOffsetParam, sanitizedLimitParam, sorting); final Slice<Target> findTargetsAll; final long countTargetsAll; if (rsqlParam != null) { final Page<Target> findTargetPage = this.targetManagement.findByRsql(pageable, rsqlParam); countTargetsAll = findTargetPage.getTotalElements(); findTargetsAll = findTargetPage; } else { findTargetsAll = this.targetManagement.findAll(pageable); countTargetsAll = this.targetManagement.count(); } final List<MgmtTarget> rest = MgmtTargetMapper.toResponse(findTargetsAll.getContent()); return ResponseEntity.ok(new PagedList<>(rest, countTargetsAll)); }
@Override public ValidationOracleContext suggest(final String rsqlQuery, final int cursorPosition) { final List<SuggestToken> expectedTokens = new ArrayList<>(); final ValidationOracleContext context = new ValidationOracleContext(); context.setSyntaxError(true); final SuggestionContext suggestionContext = new SuggestionContext(); context.setSuggestionContext(suggestionContext); final SyntaxErrorContext errorContext = new SyntaxErrorContext(); context.setSyntaxErrorContext(errorContext); try { targetManagement.findByRsql(PageRequest.of(0, 1), rsqlQuery); context.setSyntaxError(false); suggestionContext.getSuggestions().addAll(getLogicalOperatorSuggestion(rsqlQuery)); } catch (final RSQLParameterSyntaxException | RSQLParserException ex) { setExceptionDetails(rsqlQuery, new Exception(ex.getCause().getCause()), expectedTokens); errorContext.setErrorMessage(getCustomMessage(ex.getCause().getMessage(), expectedTokens)); suggestionContext.setSuggestions(expectedTokens); LOGGER.trace("Syntax exception on parsing :", ex); } catch (final RSQLParameterUnsupportedFieldException | IllegalArgumentException ex) { errorContext.setErrorMessage(getCustomMessage(ex.getMessage(), null)); LOGGER.trace("Illegal argument on parsing :", ex); } catch (@SuppressWarnings("squid:S1166") final ConversionException | JpaSystemException e) { // noop } return context; }
@Override public ValidationOracleContext suggest(final String rsqlQuery, final int cursorPosition) { final List<SuggestToken> expectedTokens = new ArrayList<>(); final ValidationOracleContext context = new ValidationOracleContext(); context.setSyntaxError(true); final SuggestionContext suggestionContext = new SuggestionContext(); context.setSuggestionContext(suggestionContext); final SyntaxErrorContext errorContext = new SyntaxErrorContext(); context.setSyntaxErrorContext(errorContext); try { targetManagement.findByRsql(new PageRequest(0, 1), rsqlQuery); context.setSyntaxError(false); suggestionContext.getSuggestions().addAll(getLogicalOperatorSuggestion(rsqlQuery)); } catch (final RSQLParameterSyntaxException | RSQLParserException ex) { setExceptionDetails(rsqlQuery, new Exception(ex.getCause().getCause()), expectedTokens); errorContext.setErrorMessage(getCustomMessage(ex.getCause().getMessage(), expectedTokens)); suggestionContext.setSuggestions(expectedTokens); LOGGER.trace("Syntax exception on parsing :", ex); } catch (final RSQLParameterUnsupportedFieldException | IllegalArgumentException ex) { errorContext.setErrorMessage(getCustomMessage(ex.getMessage(), null)); LOGGER.trace("Illegal argument on parsing :", ex); } catch (@SuppressWarnings("squid:S1166") final ConversionException | JpaSystemException e) { // noop } return context; }
final List<ProxyTarget> proxyTargetBeans = new ArrayList<>(); if (!StringUtils.isEmpty(filterQuery)) { targetBeans = targetManagement.findByRsql(new PageRequest(startIndex / SPUIDefinitions.PAGE_SIZE, SPUIDefinitions.PAGE_SIZE, sort), filterQuery); } else {
final List<ProxyTarget> proxyTargetBeans = new ArrayList<>(); if (!StringUtils.isEmpty(filterQuery)) { targetBeans = targetManagement.findByRsql( PageRequest.of(startIndex / SPUIDefinitions.PAGE_SIZE, SPUIDefinitions.PAGE_SIZE, sort), filterQuery);