Skip to content

Commit 3100b6b

Browse files
committed
modify spring query
1 parent 1b7b580 commit 3100b6b

File tree

12 files changed

+105
-102
lines changed

12 files changed

+105
-102
lines changed

spring-security-rest-full/.classpath

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<classpath>
3-
<classpathentry kind="src" output="target/classes" path="src/main/java">
3+
<classpathentry kind="src" path="src/main/java">
44
<attributes>
55
<attribute name="optional" value="true"/>
66
<attribute name="maven.pomderived" value="true"/>
77
</attributes>
88
</classpathentry>
9-
<classpathentry kind="src" path="target/generated-sources/java"/>
10-
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
9+
<classpathentry kind="src" path="target/generated-sources/java">
10+
<attributes>
11+
<attribute name="optional" value="true"/>
12+
<attribute name="maven.pomderived" value="true"/>
13+
</attributes>
14+
</classpathentry>
15+
<classpathentry excluding="**" kind="src" path="src/main/resources">
1116
<attributes>
1217
<attribute name="maven.pomderived" value="true"/>
1318
</attributes>
1419
</classpathentry>
15-
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
20+
<classpathentry excluding="**" kind="src" path="src/test/resources">
1621
<attributes>
1722
<attribute name="maven.pomderived" value="true"/>
1823
</attributes>
@@ -23,7 +28,7 @@
2328
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
2429
</attributes>
2530
</classpathentry>
26-
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
31+
<classpathentry kind="src" path="src/test/java">
2732
<attributes>
2833
<attribute name="optional" value="true"/>
2934
<attribute name="maven.pomderived" value="true"/>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
3+
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
4+
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.hibernate.eclipse.console.hibernateBuilder"/>
5+
<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/>
6+
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
7+
</launchConfiguration>

spring-security-rest-full/.project

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,13 @@
2626
</arguments>
2727
</buildCommand>
2828
<buildCommand>
29-
<name>org.hibernate.eclipse.console.hibernateBuilder</name>
29+
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
30+
<triggers>full,incremental,</triggers>
3031
<arguments>
32+
<dictionary>
33+
<key>LaunchConfigHandle</key>
34+
<value>&lt;project&gt;/.externalToolBuilders/org.hibernate.eclipse.console.hibernateBuilder.launch</value>
35+
</dictionary>
3136
</arguments>
3237
</buildCommand>
3338
<buildCommand>

spring-security-rest-full/.settings/org.eclipse.jdt.core.prefs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annota
55
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
66
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
77
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
8+
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
89
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
910
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
1011
org.eclipse.jdt.core.compiler.compliance=1.7

spring-security-rest-full/.settings/org.eclipse.wst.common.component

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
66
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
77
<wb-resource deploy-path="/WEB-INF/classes" source-path="/target/generated-sources/java"/>
8+
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>
9+
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
810
<property name="context-root" value="spring-security-rest-full"/>
911
<property name="java-output-path" value="/spring-security-rest-full/target/classes"/>
1012
</wb-module>

spring-security-rest-full/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@
327327
</configuration>
328328
</plugin>
329329

330-
<!-- Querydsl -->
330+
<!-- Querydsl and Specifications -->
331331

332332
<plugin>
333333
<groupId>com.mysema.maven</groupId>

spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/MyUserPredicatesBuilder.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,21 @@
88
import com.mysema.query.types.expr.BooleanExpression;
99

1010
public class MyUserPredicatesBuilder {
11-
public static BooleanExpression buildUserPredicates(final List<SearchCriteria> params) {
11+
private List<SearchCriteria> params;
12+
13+
public MyUserPredicatesBuilder() {
14+
params = new ArrayList<SearchCriteria>();
15+
}
16+
17+
public MyUserPredicatesBuilder with(final String key, final String operation, final Object value) {
18+
final MyUserPredicatesBuilder builder = new MyUserPredicatesBuilder();
19+
final List<SearchCriteria> newParams = new ArrayList<SearchCriteria>(params);
20+
newParams.add(new SearchCriteria(key, operation, value));
21+
builder.params = newParams;
22+
return builder;
23+
}
24+
25+
public BooleanExpression build() {
1226
if (params.size() == 0)
1327
return null;
1428

spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/UserSpecification.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,7 @@
1111

1212
public class UserSpecification implements Specification<User> {
1313

14-
private SearchCriteria criteria;
15-
16-
public UserSpecification() {
17-
18-
}
14+
private final SearchCriteria criteria;
1915

2016
public UserSpecification(final SearchCriteria criteria) {
2117
super();
@@ -26,10 +22,6 @@ public SearchCriteria getCriteria() {
2622
return criteria;
2723
}
2824

29-
public void setCriteria(final SearchCriteria criteria) {
30-
this.criteria = criteria;
31-
}
32-
3325
@Override
3426
public Predicate toPredicate(final Root<User> root, final CriteriaQuery<?> query, final CriteriaBuilder builder) {
3527
if (criteria.getOperation().equalsIgnoreCase(">")) {
@@ -38,7 +30,7 @@ public Predicate toPredicate(final Root<User> root, final CriteriaQuery<?> query
3830
return builder.lessThanOrEqualTo(root.<String> get(criteria.getKey()), criteria.getValue().toString());
3931
} else if (criteria.getOperation().equalsIgnoreCase(":")) {
4032
if (root.get(criteria.getKey()).getJavaType() == String.class) {
41-
return builder.like(root.<String>get(criteria.getKey()), "%" + criteria.getValue() + "%");
33+
return builder.like(root.<String> get(criteria.getKey()), "%" + criteria.getValue() + "%");
4234
} else {
4335
return builder.equal(root.get(criteria.getKey()), criteria.getValue());
4436
}

spring-security-rest-full/src/main/java/org/baeldung/persistence/dao/UserSpecificationsBuilder.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,21 @@
1010

1111
public class UserSpecificationsBuilder {
1212

13-
public static Specification<User> buildUserSpecs(final List<SearchCriteria> params) {
13+
private List<SearchCriteria> params;
14+
15+
public UserSpecificationsBuilder() {
16+
params = new ArrayList<SearchCriteria>();
17+
}
18+
19+
public UserSpecificationsBuilder with(final String key, final String operation, final Object value) {
20+
final UserSpecificationsBuilder builder = new UserSpecificationsBuilder();
21+
final List<SearchCriteria> newParams = new ArrayList<SearchCriteria>(params);
22+
newParams.add(new SearchCriteria(key, operation, value));
23+
builder.params = newParams;
24+
return builder;
25+
}
26+
27+
public Specification<User> build() {
1428
if (params.size() == 0)
1529
return null;
1630

spring-security-rest-full/src/main/java/org/baeldung/persistence/service/impl/UserService.java

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)