Skip to content

Commit 17afcc3

Browse files
committed
Fixed a DB leak
1 parent 96df716 commit 17afcc3

1 file changed

Lines changed: 16 additions & 13 deletions

File tree

studymanager-services/src/main/java/io/redlink/more/studymanager/service/CalendarService.java

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -165,19 +165,22 @@ public StudyTimeline getTimeline(Study study, Participant participant, Integer s
165165
.filter(p -> Objects.equals(o.getObservationId(), p.observationId()))
166166
.toList();
167167

168-
Stream<ParticipantObservationSeed> seedsToUse =
169-
matchingSeeds.isEmpty() ? Stream.of((ParticipantObservationSeed) null) : matchingSeeds.stream();
170-
171-
return seedsToUse.flatMap(seed ->
172-
SchedulerUtils
173-
.parseToObservationSchedules(
174-
seed, o.getSchedule(), effectiveRange.getMinimum(), effectiveRange.getMaximum()
175-
)
176-
.stream()
177-
// Disabled client-side filter for now...
178-
// .filter(filterWindow::isOverlappedBy)
179-
.map(e -> ObservationTimelineEvent.fromObservation(o, e.getMinimum(), e.getMaximum()))
180-
);
168+
try (Stream<ParticipantObservationSeed> seedStream =
169+
matchingSeeds.isEmpty() ? Stream.of((ParticipantObservationSeed) null) : matchingSeeds.stream()) {
170+
List<ParticipantObservationSeed> seedsToUse = seedStream.toList();
171+
return seedsToUse
172+
.stream()
173+
.flatMap(seed ->
174+
SchedulerUtils
175+
.parseToObservationSchedules(
176+
seed, o.getSchedule(), effectiveRange.getMinimum(), effectiveRange.getMaximum()
177+
)
178+
.stream()
179+
// Disabled client-side filter for now...
180+
// .filter(filterWindow::isOverlappedBy)
181+
.map(e -> ObservationTimelineEvent.fromObservation(o, e.getMinimum(), e.getMaximum()))
182+
);
183+
}
181184
})
182185
.toList(),
183186
interventions.stream()

0 commit comments

Comments
 (0)