diff --git a/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonOpenCastRecordingsHandler.java b/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonOpenCastRecordingsHandler.java index 7ce253716a50d5eba37279749b76f0df0124e112..dcd246878247b03c8b4c09e3c4a1532fb0b68e9b 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonOpenCastRecordingsHandler.java +++ b/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonOpenCastRecordingsHandler.java @@ -105,7 +105,7 @@ public class BigBlueButtonOpenCastRecordingsHandler implements BigBlueButtonReco return Collections.emptyList(); } - List<OpencastEvent> events = opencastService.getEvents(meeting.getMeetingId()); + List<OpencastEvent> events = opencastService.getEvents(meeting.getMeetingId(), true); List<BigBlueButtonRecording> recordings = new ArrayList<>(events.size()); for (OpencastEvent event : events) { String recordId = event.getIdentifier(); diff --git a/src/main/java/org/olat/modules/opencast/OpencastService.java b/src/main/java/org/olat/modules/opencast/OpencastService.java index b4e5c14c58a896c9830a7e2c5a00fe2348106bfa..9915777f85e8a9eae914dd71b3167f75e20587cf 100644 --- a/src/main/java/org/olat/modules/opencast/OpencastService.java +++ b/src/main/java/org/olat/modules/opencast/OpencastService.java @@ -59,9 +59,10 @@ public interface OpencastService { * Get the events with the metadata in the bibliographic data * * @param metadata + * @param publishedOnly only get events which are published on the presentation service * @return */ - List<OpencastEvent> getEvents(String metadata); + List<OpencastEvent> getEvents(String metadata, boolean publishedOnly); /** * Delete all events with the identifier. diff --git a/src/main/java/org/olat/modules/opencast/manager/OpencastServiceImpl.java b/src/main/java/org/olat/modules/opencast/manager/OpencastServiceImpl.java index 97a73122ec532055e6e350a603e52450f84041b2..d9083ccb879935d6b07dee3257fc001d267f58d1 100644 --- a/src/main/java/org/olat/modules/opencast/manager/OpencastServiceImpl.java +++ b/src/main/java/org/olat/modules/opencast/manager/OpencastServiceImpl.java @@ -93,11 +93,17 @@ public class OpencastServiceImpl implements OpencastService { } @Override - public List<OpencastEvent> getEvents(String metadata) { + public List<OpencastEvent> getEvents(String metadata, boolean publishedOnly) { GetEventsParams params = GetEventsParams.builder() .addFilter(Filter.textFilter, metadata) .build(); - return getEvents(params); + List<OpencastEvent> events = getEvents(params); + if (publishedOnly) { + events = events.stream() + .filter(event -> opencastRestClient.isEpisodeExisting(event.getIdentifier())) + .collect(Collectors.toList()); + } + return events; } private List<OpencastEvent> getEvents(GetEventsParams params) {