From d5983b0d8c8c978e0509a0ed6f8aa3660c80c863 Mon Sep 17 00:00:00 2001 From: eugenp Date: Sat, 29 Oct 2016 09:26:08 +0300 Subject: [PATCH] generalization of the user specific spec --- ...lSpecification.java => GenericRsqlSpecification.java} | 9 ++++----- .../persistence/dao/rsql/UserRsqlSpecBuilder.java | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) rename spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/{UserRsqlSpecification.java => GenericRsqlSpecification.java} (87%) diff --git a/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/UserRsqlSpecification.java b/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/GenericRsqlSpecification.java similarity index 87% rename from spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/UserRsqlSpecification.java rename to spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/GenericRsqlSpecification.java index b7aaa14ba6..6609a87953 100644 --- a/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/UserRsqlSpecification.java +++ b/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/GenericRsqlSpecification.java @@ -8,18 +8,17 @@ import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; -import org.baeldung.persistence.model.User; import org.springframework.data.jpa.domain.Specification; import cz.jirutka.rsql.parser.ast.ComparisonOperator; -public class UserRsqlSpecification implements Specification { +public class GenericRsqlSpecification implements Specification { private String property; private ComparisonOperator operator; private List arguments; - public UserRsqlSpecification(final String property, final ComparisonOperator operator, final List arguments) { + public GenericRsqlSpecification(final String property, final ComparisonOperator operator, final List arguments) { super(); this.property = property; this.operator = operator; @@ -27,7 +26,7 @@ public class UserRsqlSpecification implements Specification { } @Override - public Predicate toPredicate(final Root root, final CriteriaQuery query, final CriteriaBuilder builder) { + public Predicate toPredicate(final Root root, final CriteriaQuery query, final CriteriaBuilder builder) { final List args = castArguments(root); final Object argument = args.get(0); switch (RsqlSearchOperation.getSimpleOperator(operator)) { @@ -73,7 +72,7 @@ public class UserRsqlSpecification implements Specification { // === private - private List castArguments(final Root root) { + private List castArguments(final Root root) { final List args = new ArrayList(); final Class type = root.get(property).getJavaType(); diff --git a/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/UserRsqlSpecBuilder.java b/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/UserRsqlSpecBuilder.java index 202370a64b..07bf557a7a 100644 --- a/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/UserRsqlSpecBuilder.java +++ b/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/UserRsqlSpecBuilder.java @@ -51,7 +51,7 @@ public class UserRsqlSpecBuilder { } public Specifications createSpecification(final ComparisonNode comparisonNode) { - final Specifications result = Specifications.where(new UserRsqlSpecification(comparisonNode.getSelector(), comparisonNode.getOperator(), comparisonNode.getArguments())); + final Specifications result = Specifications.where(new GenericRsqlSpecification(comparisonNode.getSelector(), comparisonNode.getOperator(), comparisonNode.getArguments())); return result; }