From e3ec1499273f84d793b385b260422ec90097252e Mon Sep 17 00:00:00 2001 From: eugenp Date: Sat, 29 Oct 2016 10:14:27 +0300 Subject: [PATCH] further generics in the rsql code --- .../persistence/dao/rsql/CustomRsqlVisitor.java | 13 ++++++------- ...Builder.java => GenericRsqlSpecBuilder.java} | 17 ++++++++--------- 2 files changed, 14 insertions(+), 16 deletions(-) rename spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/{UserRsqlSpecBuilder.java => GenericRsqlSpecBuilder.java} (65%) diff --git a/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/CustomRsqlVisitor.java b/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/CustomRsqlVisitor.java index 64c84678af..89cec89951 100644 --- a/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/CustomRsqlVisitor.java +++ b/spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/CustomRsqlVisitor.java @@ -1,6 +1,5 @@ package org.baeldung.persistence.dao.rsql; -import org.baeldung.persistence.model.User; import org.springframework.data.jpa.domain.Specification; import cz.jirutka.rsql.parser.ast.AndNode; @@ -8,26 +7,26 @@ import cz.jirutka.rsql.parser.ast.ComparisonNode; import cz.jirutka.rsql.parser.ast.OrNode; import cz.jirutka.rsql.parser.ast.RSQLVisitor; -public class CustomRsqlVisitor implements RSQLVisitor, Void> { +public class CustomRsqlVisitor implements RSQLVisitor, Void> { - private UserRsqlSpecBuilder builder; + private GenericRsqlSpecBuilder builder; public CustomRsqlVisitor() { - builder = new UserRsqlSpecBuilder(); + builder = new GenericRsqlSpecBuilder(); } @Override - public Specification visit(final AndNode node, final Void param) { + public Specification visit(final AndNode node, final Void param) { return builder.createSpecification(node); } @Override - public Specification visit(final OrNode node, final Void param) { + public Specification visit(final OrNode node, final Void param) { return builder.createSpecification(node); } @Override - public Specification visit(final ComparisonNode node, final Void params) { + public Specification visit(final ComparisonNode node, final Void params) { return builder.createSpecification(node); } 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/GenericRsqlSpecBuilder.java similarity index 65% rename from spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/UserRsqlSpecBuilder.java rename to spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/rsql/GenericRsqlSpecBuilder.java index 07bf557a7a..01ec389465 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/GenericRsqlSpecBuilder.java @@ -3,7 +3,6 @@ package org.baeldung.persistence.dao.rsql; import java.util.ArrayList; import java.util.List; -import org.baeldung.persistence.model.User; import org.springframework.data.jpa.domain.Specifications; import cz.jirutka.rsql.parser.ast.ComparisonNode; @@ -11,9 +10,9 @@ import cz.jirutka.rsql.parser.ast.LogicalNode; import cz.jirutka.rsql.parser.ast.LogicalOperator; import cz.jirutka.rsql.parser.ast.Node; -public class UserRsqlSpecBuilder { +public class GenericRsqlSpecBuilder { - public Specifications createSpecification(final Node node) { + public Specifications createSpecification(final Node node) { if (node instanceof LogicalNode) { return createSpecification((LogicalNode) node); } @@ -23,9 +22,9 @@ public class UserRsqlSpecBuilder { return null; } - public Specifications createSpecification(final LogicalNode logicalNode) { - final List> specs = new ArrayList>(); - Specifications temp; + public Specifications createSpecification(final LogicalNode logicalNode) { + final List> specs = new ArrayList>(); + Specifications temp; for (final Node node : logicalNode.getChildren()) { temp = createSpecification(node); if (temp != null) { @@ -33,7 +32,7 @@ public class UserRsqlSpecBuilder { } } - Specifications result = specs.get(0); + Specifications result = specs.get(0); if (logicalNode.getOperator() == LogicalOperator.AND) { for (int i = 1; i < specs.size(); i++) { @@ -50,8 +49,8 @@ public class UserRsqlSpecBuilder { return result; } - public Specifications createSpecification(final ComparisonNode comparisonNode) { - final Specifications result = Specifications.where(new GenericRsqlSpecification(comparisonNode.getSelector(), comparisonNode.getOperator(), comparisonNode.getArguments())); + public Specifications createSpecification(final ComparisonNode comparisonNode) { + final Specifications result = Specifications.where(new GenericRsqlSpecification(comparisonNode.getSelector(), comparisonNode.getOperator(), comparisonNode.getArguments())); return result; }