File tree Expand file tree Collapse file tree 5 files changed +67
-2
lines changed
main/java/fr/ouestfrance/querydsl
test/java/fr/ouestfrance/querydsl/service/validators/impl Expand file tree Collapse file tree 5 files changed +67
-2
lines changed Original file line number Diff line number Diff line change 44
55 <groupId >fr.ouestfrance.querydsl</groupId >
66 <artifactId >querydsl</artifactId >
7- <version >1.2.1 -SNAPSHOT</version >
7+ <version >1.3.0 -SNAPSHOT</version >
88 <name >querydsl</name >
99 <description >Unified queryDSL based on annotations</description >
1010 <url >https://github.com/ouest-france/querydsl</url >
Original file line number Diff line number Diff line change 11package fr .ouestfrance .querydsl ;
22
33import fr .ouestfrance .querydsl .service .validators .ValidatedBy ;
4+ import fr .ouestfrance .querydsl .service .validators .impl .BooleanValidator ;
45import fr .ouestfrance .querydsl .service .validators .impl .CollectionValidator ;
56import fr .ouestfrance .querydsl .service .validators .impl .ComparableValidator ;
67import fr .ouestfrance .querydsl .service .validators .impl .StringValidator ;
@@ -72,4 +73,11 @@ class IN implements FilterOperation {
7273 @ ValidatedBy (CollectionValidator .class )
7374 class NOTIN implements FilterOperation {
7475 }
76+
77+ /**
78+ * Is null Operation
79+ */
80+ @ ValidatedBy (BooleanValidator .class )
81+ class ISNULL implements FilterOperation {
82+ }
7583}
Original file line number Diff line number Diff line change 1+ package fr .ouestfrance .querydsl .service .validators .impl ;
2+
3+ import fr .ouestfrance .querydsl .service .validators .FilterFieldValidator ;
4+ import lombok .NoArgsConstructor ;
5+
6+ /**
7+ * Validator that handle filter on Boolean
8+ */
9+ @ NoArgsConstructor
10+ public class BooleanValidator implements FilterFieldValidator {
11+ @ Override
12+ public boolean validate (Class <?> clazz ) {
13+ return Boolean .class .isAssignableFrom (clazz );
14+ }
15+
16+ @ Override
17+ public String message () {
18+ return "should be applied to Boolean" ;
19+ }
20+ }
Original file line number Diff line number Diff line change 1+ package fr .ouestfrance .querydsl .service .validators .impl ;
2+
3+ import fr .ouestfrance .querydsl .service .validators .FilterFieldValidator ;
4+ import org .junit .jupiter .api .Test ;
5+
6+ import java .math .BigDecimal ;
7+ import java .time .LocalDate ;
8+ import java .time .LocalDateTime ;
9+ import java .util .*;
10+
11+ import static org .junit .jupiter .api .Assertions .assertFalse ;
12+ import static org .junit .jupiter .api .Assertions .assertTrue ;
13+
14+ class BooleanValidatorTest {
15+
16+ private final FilterFieldValidator validator = new BooleanValidator ();
17+ @ Test
18+ void shouldValidate (){
19+ assertTrue (validator .validate (Boolean .class ));
20+ }
21+
22+ @ Test
23+ void shouldUnValidate (){
24+ assertFalse (validator .validate (String .class ));
25+ assertFalse (validator .validate (Double .class ));
26+ assertFalse (validator .validate (LocalDate .class ));
27+ assertFalse (validator .validate (LocalDateTime .class ));
28+ assertFalse (validator .validate (Date .class ));
29+ assertFalse (validator .validate (UUID .class ));
30+ assertFalse (validator .validate (Integer .class ));
31+ assertFalse (validator .validate (BigDecimal .class ));
32+ assertFalse (validator .validate (Set .class ));
33+ assertFalse (validator .validate (ArrayList .class ));
34+ assertFalse (validator .validate (LinkedList .class ));
35+ assertFalse (validator .validate (HashSet .class ));
36+ }
37+ }
Original file line number Diff line number Diff line change 1111import static org .junit .jupiter .api .Assertions .assertFalse ;
1212import static org .junit .jupiter .api .Assertions .assertTrue ;
1313
14- class ComprableValidatorTest {
14+ class ComparableValidatorTest {
1515
1616 private final FilterFieldValidator validator = new ComparableValidator ();
1717 @ Test
You can’t perform that action at this time.
0 commit comments