Skip to content

Commit d544248

Browse files
committed
Improve perf
1 parent 97455b1 commit d544248

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/repositories/JpaLogbookReportRepository.kt

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,18 @@ class JpaLogbookReportRepository(
5252
willArriveBefore = filter.willArriveBefore,
5353
)
5454

55-
val logbookMessageReferencingOtherMessages = logbookReportsWithDatCorAndDel.filter { it.referencedReportId != null }
55+
val referencedReportIds = logbookReportsWithDatCorAndDel
56+
.filter { it.referencedReportId != null }
57+
.map { it.referencedReportId }
58+
.toSet()
59+
5660
return logbookReportsWithDatCorAndDel
57-
.filter {
58-
logbookMessageReferencingOtherMessages.none {
59-
referencingMessage ->
60-
referencingMessage.referencedReportId == it.reportId
61-
}
62-
}.filter { it.operationType != LogbookOperationType.DEL }
63-
.map {
64-
val pno = PriorNotification.fromLogbookMessage(it.toLogbookMessage(objectMapper))
61+
.filter { report ->
62+
// Exclude reports that are referenced by other reports or have a DEL operation type
63+
report.operationType != LogbookOperationType.DEL && report.reportId !in referencedReportIds
64+
}
65+
.map { report ->
66+
val pno = PriorNotification.fromLogbookMessage(report.toLogbookMessage(objectMapper))
6567
// All messages returned from the SQL query are acknowledged
6668
pno.markAsAcknowledged()
6769

0 commit comments

Comments
 (0)