Skip to content

Commit 9325a15

Browse files
authored
Case insensitive filtering and restrict the limit violation enum values. (#51)
Signed-off-by: Florent MILLOT <[email protected]>
1 parent a25c0f1 commit 9325a15

File tree

3 files changed

+19
-7
lines changed

3 files changed

+19
-7
lines changed

src/main/java/org/gridsuite/shortcircuit/server/ShortCircuitController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ public ResponseEntity<FaultType[]> getFaultTypes() {
162162
@GetMapping(value = "/limit-violation-types", produces = APPLICATION_JSON_VALUE)
163163
@Operation(summary = "Get list of limit violation types")
164164
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The list of limit violation types")})
165-
public ResponseEntity<LimitViolationType[]> getLimitTypes() {
166-
return ResponseEntity.ok().body(LimitViolationType.values());
165+
public ResponseEntity<List<LimitViolationType>> getLimitTypes() {
166+
return ResponseEntity.ok().body(List.of(LimitViolationType.LOW_SHORT_CIRCUIT_CURRENT, LimitViolationType.HIGH_SHORT_CIRCUIT_CURRENT));
167167
}
168168

169169
}

src/main/java/org/gridsuite/shortcircuit/server/utils/SpecificationUtils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ private SpecificationUtils() {
3434

3535
// we use .as(String.class) to be able to works on enum fields
3636
public static <X> Specification<X> equals(String field, String value) {
37-
return (root, cq, cb) -> cb.equal(getColumnPath(root, field).as(String.class), value);
37+
return (root, cq, cb) -> cb.equal(cb.upper(getColumnPath(root, field)).as(String.class), value.toUpperCase());
3838
}
3939

4040
public static <X> Specification<X> contains(String field, String value) {
41-
return (root, cq, cb) -> cb.like(getColumnPath(root, field), "%" + EscapeCharacter.DEFAULT.escape(value) + "%", EscapeCharacter.DEFAULT.getEscapeCharacter());
41+
return (root, cq, cb) -> cb.like(cb.upper(getColumnPath(root, field)), "%" + EscapeCharacter.DEFAULT.escape(value).toUpperCase() + "%", EscapeCharacter.DEFAULT.getEscapeCharacter());
4242
}
4343

4444
public static <X> Specification<X> startsWith(String field, String value) {
45-
return (root, cq, cb) -> cb.like(getColumnPath(root, field), EscapeCharacter.DEFAULT.escape(value) + "%", EscapeCharacter.DEFAULT.getEscapeCharacter());
45+
return (root, cq, cb) -> cb.like(cb.upper(getColumnPath(root, field)), EscapeCharacter.DEFAULT.escape(value).toUpperCase() + "%", EscapeCharacter.DEFAULT.getEscapeCharacter());
4646
}
4747

4848
public static <X> Specification<X> notEqual(String field, Double value) {

src/test/java/org/gridsuite/shortcircuit/server/repositories/FeederResultRepositoryTest.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,13 @@ private Stream<Arguments> provideContainsFilters() {
169169
resultMagnitudeEntity,
170170
List.of(
171171
new ResourceFilter(ResourceFilter.DataType.TEXT, ResourceFilter.Type.CONTAINS, "_D_1", "connectableId")),
172-
List.of())
172+
List.of()),
173+
// case insensitive
174+
Arguments.of(
175+
resultMagnitudeEntity,
176+
List.of(
177+
new ResourceFilter(ResourceFilter.DataType.TEXT, ResourceFilter.Type.CONTAINS, "id_2", "connectableId")),
178+
List.of(feederResultEntity2))
173179
);
174180
}
175181

@@ -195,7 +201,13 @@ private Stream<Arguments> provideStartsWithFilters() {
195201
List.of(
196202
new ResourceFilter(ResourceFilter.DataType.TEXT, ResourceFilter.Type.STARTS_WITH, "A_CONN", "connectableId"),
197203
new ResourceFilter(ResourceFilter.DataType.TEXT, ResourceFilter.Type.STARTS_WITH, "B_CONN", "connectableId")),
198-
List.of())
204+
List.of()),
205+
// case insensitive
206+
Arguments.of(
207+
resultMagnitudeEntity,
208+
List.of(
209+
new ResourceFilter(ResourceFilter.DataType.TEXT, ResourceFilter.Type.STARTS_WITH, "a_conn", "connectableId")),
210+
List.of(feederResultEntity1, feederResultEntity2))
199211
);
200212
}
201213

0 commit comments

Comments
 (0)