Skip to content

Commit 63f2d89

Browse files
committed
Fix error in search codes if pagination is triggered
1 parent 911a909 commit 63f2d89

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/main/java/io/securecodebox/persistence/defectdojo/service/FindingService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,13 @@ protected DefectDojoResponse<Finding> deserializeList(String response) throws Js
3333
}
3434

3535
public List<Finding> getUnhandledFindingsForProduct(long productId, Finding.Severity minimumSeverity) throws URISyntaxException, JsonProcessingException {
36-
return this.search(Map.of("test__engagement__product", productId, "active", true)).stream().filter((finding -> {
36+
return this.search(Map.of("test__engagement__product", Long.toString(productId), "active", Boolean.toString(true))).stream().filter((finding -> {
3737
return finding.getSeverity().getNumericRepresentation() >= minimumSeverity.getNumericRepresentation();
3838
})).collect(Collectors.toList());
3939
}
40+
4041
public List<Finding> getUnhandledFindingsForEngagement(long engagementId, Finding.Severity minimumSeverity) throws URISyntaxException, JsonProcessingException {
41-
return this.search(Map.of("test__engagement", engagementId, "active", true)).stream().filter((finding -> {
42+
return this.search(Map.of("test__engagement", Long.toString(engagementId), "active", Boolean.toString(true))).stream().filter((finding -> {
4243
return finding.getSeverity().getNumericRepresentation() >= minimumSeverity.getNumericRepresentation();
4344
})).collect(Collectors.toList());
4445
}

src/main/java/io/securecodebox/persistence/defectdojo/service/GenericDefectDojoService.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,10 @@ public List<T> search(Map<String, Object> queryParams) throws URISyntaxException
107107
do {
108108
var response = internalSearch(queryParams, DEFECT_DOJO_OBJET_LIMIT, DEFECT_DOJO_OBJET_LIMIT * page++);
109109
objects.addAll(response.getResults());
110-
if (response.getNext() != null) {
111-
hasNext = true;
112-
}
110+
111+
hasNext = response.getNext() != null;
113112
if (page > 100) {
114-
throw new DefectDojoLoopException("Looked for DefectDojo Object but could not find it after " + page + " paginated API pages of " + DEFECT_DOJO_OBJET_LIMIT + " each.");
113+
throw new DefectDojoLoopException("Found too many response object. Quitting after " + page + " paginated API pages of " + DEFECT_DOJO_OBJET_LIMIT + " each.");
115114
}
116115
} while (hasNext);
117116

0 commit comments

Comments
 (0)