@Override public SpelCriteria resolve(KeyValueQuery<?> query) { if (query.getCriteria() == null) { return null; } if (query.getCriteria() instanceof SpelExpression) { return new SpelCriteria((SpelExpression) query.getCriteria()); } if (query.getCriteria() instanceof String) { return new SpelCriteria(parser.parseRaw((String) query.getCriteria())); } if (query.getCriteria() instanceof SpelCriteria) { return (SpelCriteria) query.getCriteria(); } throw new IllegalArgumentException("Cannot create SpelCriteria for " + query.getCriteria()); } }
@Override public SpelCriteria resolve(KeyValueQuery<?> query) { if (query.getCriteria() == null) { return null; } if (query.getCriteria() instanceof SpelExpression) { return new SpelCriteria((SpelExpression) query.getCriteria()); } if (query.getCriteria() instanceof String) { return new SpelCriteria(parser.parseRaw((String) query.getCriteria())); } if (query.getCriteria() instanceof SpelCriteria) { return (SpelCriteria) query.getCriteria(); } throw new IllegalArgumentException("Cannot create SpelCriteria for " + query.getCriteria()); } }
@Override public SpelCriteria resolve(KeyValueQuery<?> query) { if (query.getCriteria() == null) { return null; } if (query.getCriteria() instanceof SpelExpression) { return new SpelCriteria((SpelExpression) query.getCriteria()); } if (query.getCriteria() instanceof String) { return new SpelCriteria(parser.parseRaw((String) query.getCriteria())); } if (query.getCriteria() instanceof SpelCriteria) { return (SpelCriteria) query.getCriteria(); } throw new IllegalArgumentException("Cannot create SpelCriteria for " + query.getCriteria()); } }
@SuppressWarnings({ "rawtypes", "unchecked" }) protected KeyValueQuery<?> prepareQuery(KeyValueQuery<?> instance, Object[] parameters) { ParametersParameterAccessor accessor = new ParametersParameterAccessor(getQueryMethod().getParameters(), parameters); Object criteria = instance.getCriteria(); if (criteria instanceof SpelCriteria || criteria instanceof SpelExpression) { SpelExpression spelExpression = getSpelExpression(criteria); EvaluationContext context = this.evaluationContextProvider.getEvaluationContext(getQueryMethod().getParameters(), parameters); criteria = new SpelCriteria(spelExpression, context); } KeyValueQuery<?> query = new KeyValueQuery(criteria); Pageable pageable = accessor.getPageable(); Sort sort = accessor.getSort(); query.setOffset(pageable.toOptional().map(Pageable::getOffset).orElse(-1L)); if (pageable.isPaged()) { query.setRows(pageable.getPageSize()); } else if (instance.getRows() >= 0) { query.setRows(instance.getRows()); } query.setSort(sort.isUnsorted() ? instance.getSort() : sort); return query; }
@SuppressWarnings({ "rawtypes", "unchecked" }) protected KeyValueQuery<?> prepareQuery(KeyValueQuery<?> instance, Object[] parameters) { ParametersParameterAccessor accessor = new ParametersParameterAccessor(getQueryMethod().getParameters(), parameters); Object criteria = instance.getCriteria(); if (criteria instanceof SpelCriteria || criteria instanceof SpelExpression) { SpelExpression spelExpression = getSpelExpression(criteria); EvaluationContext context = this.evaluationContextProvider.getEvaluationContext(getQueryMethod().getParameters(), parameters); criteria = new SpelCriteria(spelExpression, context); } KeyValueQuery<?> query = new KeyValueQuery(criteria); Pageable pageable = accessor.getPageable(); Sort sort = accessor.getSort(); query.setOffset(pageable.toOptional().map(Pageable::getOffset).orElse(-1L)); if (pageable.isPaged()) { query.setRows(pageable.getPageSize()); } else if (instance.getRows() >= 0) { query.setRows(instance.getRows()); } query.setSort(sort.isUnsorted() ? instance.getSort() : sort); return query; }
@SuppressWarnings({ "rawtypes", "unchecked" }) protected KeyValueQuery<?> prepareQuery(KeyValueQuery<?> instance, Object[] parameters) { ParametersParameterAccessor accessor = new ParametersParameterAccessor(getQueryMethod().getParameters(), parameters); Object criteria = instance.getCriteria(); if (criteria instanceof SpelCriteria || criteria instanceof SpelExpression) { SpelExpression spelExpression = getSpelExpression(criteria); EvaluationContext context = this.evaluationContextProvider.getEvaluationContext(getQueryMethod().getParameters(), parameters); criteria = new SpelCriteria(spelExpression, context); } KeyValueQuery<?> query = new KeyValueQuery(criteria); Pageable pageable = accessor.getPageable(); Sort sort = accessor.getSort(); query.setOffset(pageable.toOptional().map(Pageable::getOffset).orElse(-1L)); if (pageable.isPaged()) { query.setRows(pageable.getPageSize()); } else if (instance.getRows() >= 0) { query.setRows(instance.getRows()); } query.setSort(sort.isUnsorted() ? instance.getSort() : sort); return query; }