Skip to content

Commit b3a33aa

Browse files
iamareebjamaldarrachequesne
authored andcommitted
[feat] Update to spring boot 2.0.0 (#73)
1 parent 99763b1 commit b3a33aa

26 files changed

+191
-245
lines changed

.travis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ sudo: false
22
language: java
33
jdk:
44
- oraclejdk8
5-
- openjdk7
65
services:
76
- mysql
87
- pgsql
98
matrix:
109
include:
10+
- jdk: oraclejdk8
11+
env: DB=h2
1112
- jdk: oraclejdk8
1213
env: DB=mysql
1314
- jdk: oraclejdk8

pom.xml

Lines changed: 9 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>com.github.darrachequesne</groupId>
77
<artifactId>spring-data-jpa-datatables</artifactId>
8-
<version>4.3</version>
8+
<version>5.0.0-SNAPSHOT</version>
99

1010
<name>Spring Data JPA for DataTables</name>
1111
<description>Spring Data JPA extension to work with the great jQuery plug-in DataTables (http://datatables.net/)</description>
@@ -53,7 +53,7 @@
5353
<version.plugin.maven-gpg-plugin>1.6</version.plugin.maven-gpg-plugin>
5454

5555
<!-- Source encoding -->
56-
<java.version>1.6</java.version>
56+
<java.version>1.8</java.version>
5757
<maven.compiler.source>${java.version}</maven.compiler.source>
5858
<maven.compiler.target>${java.version}</maven.compiler.target>
5959
<source.encoding>UTF-8</source.encoding>
@@ -62,9 +62,9 @@
6262
<dependencyManagement>
6363
<dependencies>
6464
<dependency>
65-
<groupId>io.spring.platform</groupId>
66-
<artifactId>platform-bom</artifactId>
67-
<version>Brussels-RELEASE</version>
65+
<groupId>org.springframework.boot</groupId>
66+
<artifactId>spring-boot-dependencies</artifactId>
67+
<version>2.0.0.RELEASE</version>
6868
<type>pom</type>
6969
<scope>import</scope>
7070
</dependency>
@@ -83,63 +83,21 @@
8383
<artifactId>spring-data-jpa</artifactId>
8484
</dependency>
8585

86-
<dependency>
87-
<groupId>org.springframework</groupId>
88-
<artifactId>spring-aop</artifactId>
89-
</dependency>
90-
91-
<dependency>
92-
<groupId>org.springframework</groupId>
93-
<artifactId>spring-orm</artifactId>
94-
</dependency>
95-
96-
<dependency>
97-
<groupId>org.springframework</groupId>
98-
<artifactId>spring-jdbc</artifactId>
99-
</dependency>
100-
101-
<dependency>
102-
<groupId>org.springframework</groupId>
103-
<artifactId>spring-tx</artifactId>
104-
</dependency>
105-
106-
<dependency>
107-
<groupId>org.springframework</groupId>
108-
<artifactId>spring-context</artifactId>
109-
</dependency>
110-
111-
<dependency>
112-
<groupId>org.springframework</groupId>
113-
<artifactId>spring-beans</artifactId>
114-
</dependency>
115-
116-
<dependency>
117-
<groupId>org.springframework</groupId>
118-
<artifactId>spring-core</artifactId>
119-
</dependency>
120-
12186
<dependency>
12287
<groupId>com.fasterxml.jackson.core</groupId>
12388
<artifactId>jackson-databind</artifactId>
12489
</dependency>
12590

126-
<!-- Hibernate -->
12791
<dependency>
128-
<groupId>org.hibernate</groupId>
129-
<artifactId>hibernate-core</artifactId>
92+
<groupId>javax.validation</groupId>
93+
<artifactId>validation-api</artifactId>
13094
</dependency>
95+
96+
<!-- Hibernate -->
13197
<dependency>
13298
<groupId>org.hibernate</groupId>
13399
<artifactId>hibernate-entitymanager</artifactId>
134100
</dependency>
135-
<dependency>
136-
<groupId>org.hibernate</groupId>
137-
<artifactId>hibernate-validator</artifactId>
138-
</dependency>
139-
<dependency>
140-
<groupId>javax.el</groupId>
141-
<artifactId>javax.el-api</artifactId>
142-
</dependency>
143101

144102
<dependency>
145103
<groupId>com.querydsl</groupId>

src/main/java/org/springframework/data/jpa/datatables/AbstractPredicateBuilder.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.springframework.data.jpa.datatables.mapping.Column;
66
import org.springframework.data.jpa.datatables.mapping.DataTablesInput;
77
import org.springframework.data.jpa.datatables.mapping.Search;
8+
import org.springframework.lang.NonNull;
89
import org.springframework.util.StringUtils;
910

1011
import java.util.ArrayList;
@@ -19,9 +20,9 @@ abstract class AbstractPredicateBuilder<T> {
1920
this.input = input;
2021
this.hasGlobalFilter = input.getSearch() != null && StringUtils.hasText(input.getSearch().getValue());
2122
if (this.hasGlobalFilter) {
22-
tree = new Node<Filter>(null, new GlobalFilter(input.getSearch().getValue()));
23+
tree = new Node<>(null, new GlobalFilter(input.getSearch().getValue()));
2324
} else {
24-
tree = new Node<Filter>(null);
25+
tree = new Node<>(null);
2526
}
2627
initTree(input);
2728
}
@@ -38,7 +39,7 @@ private void addChild(Node<Filter> parent, int index, String[] names, Search sea
3839
boolean isLast = index + 1 == names.length;
3940
if (isLast) {
4041
boolean hasColumnFilter = search != null && StringUtils.hasText(search.getValue());
41-
parent.addChild(new Node<Filter>(names[index], hasColumnFilter ? new ColumnFilter(search.getValue()) : null));
42+
parent.addChild(new Node<>(names[index], hasColumnFilter ? new ColumnFilter(search.getValue()) : null));
4243
} else {
4344
Node<Filter> child = parent.getOrCreateChild(names[index]);
4445
addChild(child, index + 1, names, search);
@@ -51,7 +52,7 @@ private void addChild(Node<Filter> parent, int index, String[] names, Search sea
5152
* @return a {@link Pageable}, must not be {@literal null}.
5253
*/
5354
public Pageable createPageable() {
54-
List<Sort.Order> orders = new ArrayList<Sort.Order>();
55+
List<Sort.Order> orders = new ArrayList<>();
5556
for (org.springframework.data.jpa.datatables.mapping.Order order : input.getOrder()) {
5657
Column column = input.getColumns().get(order.getColumn());
5758
if (column.getOrderable()) {
@@ -60,7 +61,7 @@ public Pageable createPageable() {
6061
orders.add(new Sort.Order(sortDirection, sortColumn));
6162
}
6263
}
63-
Sort sort = orders.isEmpty() ? null : new Sort(orders);
64+
Sort sort = orders.isEmpty() ? Sort.unsorted() : Sort.by(orders);
6465

6566
if (input.getLength() == -1) {
6667
input.setStart(0);
@@ -83,7 +84,7 @@ private class DataTablesPageRequest implements Pageable {
8384
}
8485

8586
@Override
86-
public int getOffset() {
87+
public long getOffset() {
8788
return offset;
8889
}
8990

@@ -93,21 +94,25 @@ public int getPageSize() {
9394
}
9495

9596
@Override
97+
@NonNull
9698
public Sort getSort() {
9799
return sort;
98100
}
99101

100102
@Override
103+
@NonNull
101104
public Pageable next() {
102105
throw new UnsupportedOperationException();
103106
}
104107

105108
@Override
109+
@NonNull
106110
public Pageable previousOrFirst() {
107111
throw new UnsupportedOperationException();
108112
}
109113

110114
@Override
115+
@NonNull
111116
public Pageable first() {
112117
throw new UnsupportedOperationException();
113118
}

src/main/java/org/springframework/data/jpa/datatables/ColumnFilter.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,16 @@
2222
* </ul>
2323
*/
2424
class ColumnFilter extends GlobalFilter {
25-
private Set<String> values = new HashSet<String>();
26-
private Set<Boolean> booleanValues = new HashSet<Boolean>();
25+
private final Set<String> values;
26+
private final Set<Boolean> booleanValues;
2727
private boolean addNullCase;
2828
private boolean isBooleanComparison;
2929

3030
ColumnFilter(String filterValue) {
3131
super(filterValue);
3232

3333
isBooleanComparison = true;
34+
Set<String> values = new HashSet<>();
3435
for (String value : filterValue.split("\\+")) {
3536
if ("NULL".equals(value)) {
3637
addNullCase = true;
@@ -39,14 +40,15 @@ class ColumnFilter extends GlobalFilter {
3940
values.add(nullOrTrimmedValue(value));
4041
}
4142
}
42-
values = unmodifiableSet(values);
43+
this.values = unmodifiableSet(values);
4344

45+
Set<Boolean> booleanValues = new HashSet<>();
4446
if (isBooleanComparison) {
4547
for (String value : values) {
4648
booleanValues.add(Boolean.valueOf(value));
4749
}
48-
booleanValues = unmodifiableSet(booleanValues);
4950
}
51+
this.booleanValues = unmodifiableSet(booleanValues);
5052
}
5153

5254
private boolean isBoolean(String filterValue) {

src/main/java/org/springframework/data/jpa/datatables/Node.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
class Node<T> {
77
private final String name;
88
private final T data;
9-
private List<Node<T>> children = new ArrayList<Node<T>>();
9+
private List<Node<T>> children = new ArrayList<>();
1010

1111
Node(String name, T data) {
1212
this.name = name;
@@ -28,7 +28,7 @@ Node<T> getOrCreateChild(String name) {
2828
return child;
2929
}
3030
}
31-
Node<T> child = new Node<T>(name);
31+
Node<T> child = new Node<>(name);
3232
children.add(child);
3333
return child;
3434
}

src/main/java/org/springframework/data/jpa/datatables/PredicateBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
import java.util.ArrayList;
99
import java.util.List;
1010

11-
public class PredicateBuilder<T> extends AbstractPredicateBuilder<Predicate> {
11+
public class PredicateBuilder extends AbstractPredicateBuilder<Predicate> {
1212
private final PathBuilder<?> entity;
13-
private List<Predicate> columnPredicates = new ArrayList<Predicate>();
14-
private List<Predicate> globalPredicates = new ArrayList<Predicate>();
13+
private List<Predicate> columnPredicates = new ArrayList<>();
14+
private List<Predicate> globalPredicates = new ArrayList<>();
1515

1616
public PredicateBuilder(PathBuilder<?> entity, DataTablesInput input) {
1717
super(input);

src/main/java/org/springframework/data/jpa/datatables/SpecificationBuilder.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
package org.springframework.data.jpa.datatables;
22

3-
import org.hibernate.jpa.criteria.path.AbstractPathImpl;
3+
import org.hibernate.query.criteria.internal.path.AbstractPathImpl;
44
import org.springframework.data.jpa.datatables.mapping.DataTablesInput;
55
import org.springframework.data.jpa.domain.Specification;
6+
import org.springframework.lang.NonNull;
67

78
import javax.persistence.criteria.*;
89
import java.util.ArrayList;
910
import java.util.List;
1011

11-
1212
public class SpecificationBuilder<T> extends AbstractPredicateBuilder<Specification<T>> {
1313
public SpecificationBuilder(DataTablesInput input) {
1414
super(input);
1515
}
1616

1717
@Override
1818
public Specification<T> build() {
19-
return new DataTablesSpecification<T>();
19+
return new DataTablesSpecification<>();
2020
}
2121

2222
private class DataTablesSpecification<S> implements Specification<S> {
23-
private List<Predicate> columnPredicates = new ArrayList<Predicate>();
24-
private List<Predicate> globalPredicates = new ArrayList<Predicate>();
23+
private List<Predicate> columnPredicates = new ArrayList<>();
24+
private List<Predicate> globalPredicates = new ArrayList<>();
2525

2626
@Override
27-
public Predicate toPredicate(Root<S> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
27+
public Predicate toPredicate(@NonNull Root<S> root, @NonNull CriteriaQuery<?> query, @NonNull CriteriaBuilder criteriaBuilder) {
2828
initPredicatesRecursively(tree, root, root, criteriaBuilder);
2929

3030
boolean isCountQuery = query.getResultType() == Long.class;
@@ -65,7 +65,7 @@ private void initPredicatesRecursively(Node<Filter> node, From<S, S> from, Fetch
6565
}
6666

6767
private Predicate createFinalPredicate(CriteriaBuilder criteriaBuilder) {
68-
List<Predicate> allPredicates = new ArrayList<Predicate>(columnPredicates);
68+
List<Predicate> allPredicates = new ArrayList<>(columnPredicates);
6969

7070
if (!globalPredicates.isEmpty()) {
7171
allPredicates.add(criteriaBuilder.or(globalPredicates.toArray(new Predicate[0])));

src/main/java/org/springframework/data/jpa/datatables/mapping/Column.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package org.springframework.data.jpa.datatables.mapping;
22

3-
import javax.validation.constraints.NotNull;
4-
5-
import org.hibernate.validator.constraints.NotBlank;
6-
73
import lombok.AllArgsConstructor;
84
import lombok.Data;
95
import lombok.NoArgsConstructor;
106

7+
import javax.validation.constraints.NotBlank;
8+
import javax.validation.constraints.NotNull;
9+
1110
@Data
1211
@NoArgsConstructor
1312
@AllArgsConstructor

src/main/java/org/springframework/data/jpa/datatables/mapping/DataTablesInput.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package org.springframework.data.jpa.datatables.mapping;
22

3+
import lombok.Data;
4+
5+
import javax.validation.constraints.Min;
6+
import javax.validation.constraints.NotEmpty;
7+
import javax.validation.constraints.NotNull;
38
import java.util.ArrayList;
49
import java.util.HashMap;
510
import java.util.List;
611
import java.util.Map;
712

8-
import javax.validation.constraints.Min;
9-
import javax.validation.constraints.NotNull;
10-
11-
import org.hibernate.validator.constraints.NotEmpty;
12-
13-
import lombok.Data;
14-
1513
@Data
1614
public class DataTablesInput {
1715

@@ -53,20 +51,20 @@ public class DataTablesInput {
5351
* Order parameter
5452
*/
5553
@NotEmpty
56-
private List<Order> order = new ArrayList<Order>();
54+
private List<Order> order = new ArrayList<>();
5755

5856
/**
5957
* Per-column search parameter
6058
*/
6159
@NotEmpty
62-
private List<Column> columns = new ArrayList<Column>();
60+
private List<Column> columns = new ArrayList<>();
6361

6462
/**
6563
*
6664
* @return a {@link Map} of {@link Column} indexed by name
6765
*/
6866
public Map<String, Column> getColumnsAsMap() {
69-
Map<String, Column> map = new HashMap<String, Column>();
67+
Map<String, Column> map = new HashMap<>();
7068
for (Column column : columns) {
7169
map.put(column.getData(), column);
7270
}

src/main/java/org/springframework/data/jpa/datatables/mapping/DataTablesOutput.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package org.springframework.data.jpa.datatables.mapping;
22

3-
import java.util.Collections;
4-
import java.util.List;
5-
63
import com.fasterxml.jackson.annotation.JsonView;
7-
84
import lombok.Data;
95

6+
import java.util.Collections;
7+
import java.util.List;
8+
109
@Data
1110
public class DataTablesOutput<T> {
1211

0 commit comments

Comments
 (0)