diff --git a/src/main/java/org/olat/modules/video/manager/VideoNotificationsHandler.java b/src/main/java/org/olat/modules/video/manager/VideoNotificationsHandler.java index 3c845a295e66bd2f7578456d7fd407f84a6aaafe..c966dce19d18001b8727c9e5fd768d639e89c7e1 100644 --- a/src/main/java/org/olat/modules/video/manager/VideoNotificationsHandler.java +++ b/src/main/java/org/olat/modules/video/manager/VideoNotificationsHandler.java @@ -127,7 +127,8 @@ public class VideoNotificationsHandler implements NotificationsHandler { .getURLFromBusinessPathString(businessPath); List<SubscriptionListItem> items = new ArrayList<>(); - List<UserComment> comments = commentAndRatingService.getComments(re.getOlatResource(), p.getSubidentifier()); + String subIdentifier = StringHelper.containsNonWhitespace(p.getSubidentifier()) ? p.getSubidentifier() : null; + List<UserComment> comments = commentAndRatingService.getComments(re.getOlatResource(), subIdentifier); for (UserComment comment : comments) { if (compareDate.before(comment.getCreationDate())) { String desc; diff --git a/src/main/java/org/olat/modules/video/ui/VideoEntryDataSource.java b/src/main/java/org/olat/modules/video/ui/VideoEntryDataSource.java index 214fb5d1df58b59ea95747e3738f16606fc9d961..cc065a135e36e8ac514d0576b5006a4e71f294a6 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoEntryDataSource.java +++ b/src/main/java/org/olat/modules/video/ui/VideoEntryDataSource.java @@ -86,7 +86,7 @@ public class VideoEntryDataSource implements FlexiTableDataSourceDelegate<Reposi public ResultInfos<RepositoryEntryRow> getRows(String query, List<FlexiTableFilter> filters, List<String> condQueries, int firstResult, int maxResults, SortKey... orderBy) { - if(condQueries != null && condQueries.size() > 0) { + if(condQueries != null && !condQueries.isEmpty()) { String filter = condQueries.get(0); if(StringHelper.containsNonWhitespace(filter)) { searchParams.setFilters(Collections.singletonList(Filter.valueOf(filter))); @@ -111,7 +111,7 @@ public class VideoEntryDataSource implements FlexiTableDataSourceDelegate<Reposi List<RepositoryEntryRow> rows = processViewModel(views); ResultInfos<RepositoryEntryRow> results = new DefaultResultInfos<>(firstResult + rows.size(), -1, rows); if(firstResult == 0 && views.size() < maxResults) { - count = new Integer(views.size()); + count = Integer.valueOf(views.size()); } return results; } diff --git a/src/main/java/org/olat/modules/video/ui/VideoListingController.java b/src/main/java/org/olat/modules/video/ui/VideoListingController.java index f39b9a16ef1a898dab956d47336dcf8680570f1b..a2f3acdcaa76220ca19c365c1a01e7fa5487b804 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoListingController.java +++ b/src/main/java/org/olat/modules/video/ui/VideoListingController.java @@ -59,6 +59,7 @@ import org.olat.fileresource.types.VideoFileResource; import org.olat.modules.video.ui.VideoEntryDataModel.Cols; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntrySecurity; +import org.olat.repository.RepositoryEntryStatusEnum; import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryModule; import org.olat.repository.RepositoryService; @@ -81,7 +82,6 @@ public class VideoListingController extends FormBasicController implements Activ private final String imgUrl; private FlexiTableElement tableEl; - private VideoEntryDataModel model; private VideoEntryDataSource dataSource; private SearchMyRepositoryEntryViewParams searchParams; @@ -94,11 +94,12 @@ public class VideoListingController extends FormBasicController implements Activ public VideoListingController(UserRequest ureq, WindowControl wControl, TooledStackedPanel toolbarPanel) { super(ureq, wControl, "video_listing"); - this.setTranslator(Util.createPackageTranslator(RepositoryService.class, getLocale(), getTranslator())); + setTranslator(Util.createPackageTranslator(RepositoryService.class, getLocale(), getTranslator())); this.toolbarPanel = toolbarPanel; searchParams = new SearchMyRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles(), VideoFileResource.TYPE_NAME); + searchParams.setEntryStatus(new RepositoryEntryStatusEnum[] { RepositoryEntryStatusEnum.published }); dataSource = new VideoEntryDataSource(searchParams); imgUrl = registerMapper(ureq, new VideoMapper()); @@ -111,7 +112,7 @@ public class VideoListingController extends FormBasicController implements Activ FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.key.i18nKey(), Cols.key.ordinal(), true, OrderBy.key.name())); - model = new VideoEntryDataModel(dataSource, columnsModel); + VideoEntryDataModel model = new VideoEntryDataModel(dataSource, columnsModel); tableEl = uifactory.addTableElement(getWindowControl(), "table", model, 20, false, getTranslator(), formLayout); tableEl.setAvailableRendererTypes(FlexiTableRendererType.custom); tableEl.setRendererType(FlexiTableRendererType.custom); diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java index 800b4856505e6b5318fe876a18bcbf951a91338c..7aa02bfac31f4929a13e48e8f5745da18f02c9cf 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java @@ -229,12 +229,8 @@ public class RepositoryEntryMyCourseQueries { sb.append(" where "); needIdentityKey |= appendMyViewAccessSubSelect(sb, roles, params.getFilters(), params.isMembershipMandatory()); - if(params.getClosed() != null) { - if(params.getClosed().booleanValue()) { - sb.append(" and v.status ").in(RepositoryEntryStatusEnum.closed); - } else { - sb.append(" and v.status ").in(RepositoryEntryStatusEnum.preparationToPublished()); - } + if(params.getEntryStatus() != null) { + sb.append(" and v.status ").in(params.getEntryStatus()); } if(params.getFilters() != null) { diff --git a/src/main/java/org/olat/repository/model/SearchMyRepositoryEntryViewParams.java b/src/main/java/org/olat/repository/model/SearchMyRepositoryEntryViewParams.java index 87c16ebe8618e33fcc94d793004adcb178b85e87..a7207b5e70624ca43fd122ad7a89d70af8c7a8d9 100644 --- a/src/main/java/org/olat/repository/model/SearchMyRepositoryEntryViewParams.java +++ b/src/main/java/org/olat/repository/model/SearchMyRepositoryEntryViewParams.java @@ -26,6 +26,7 @@ import org.olat.core.id.Identity; import org.olat.core.id.Roles; import org.olat.modules.curriculum.CurriculumRef; import org.olat.repository.CatalogEntry; +import org.olat.repository.RepositoryEntryStatusEnum; /** * @@ -38,8 +39,8 @@ public class SearchMyRepositoryEntryViewParams { private Roles roles; private Boolean marked; - private Boolean closed; private boolean membershipMandatory = false; + private RepositoryEntryStatusEnum[] entryStatus; private OrderBy orderBy; private boolean asc; @@ -182,12 +183,12 @@ public class SearchMyRepositoryEntryViewParams { return roles; } - public Boolean getClosed() { - return closed; + public RepositoryEntryStatusEnum[] getEntryStatus() { + return entryStatus; } - public void setClosed(Boolean closed) { - this.closed = closed; + public void setEntryStatus(RepositoryEntryStatusEnum[] entryStatus) { + this.entryStatus = entryStatus; } public Boolean getMarked() { diff --git a/src/main/java/org/olat/repository/ui/catalog/CatalogNodeController.java b/src/main/java/org/olat/repository/ui/catalog/CatalogNodeController.java index d52e9e7cfd4f24dacec37813d79dbaea310829b6..905722698ba0e8bcf81d87cce23c8eaf16a59f95 100644 --- a/src/main/java/org/olat/repository/ui/catalog/CatalogNodeController.java +++ b/src/main/java/org/olat/repository/ui/catalog/CatalogNodeController.java @@ -47,6 +47,7 @@ import org.olat.core.util.resource.OresHelper; import org.olat.core.util.vfs.VFSLeaf; import org.olat.repository.CatalogEntry; import org.olat.repository.CatalogEntry.Style; +import org.olat.repository.RepositoryEntryStatusEnum; import org.olat.repository.RepositoryManager; import org.olat.repository.manager.CatalogManager; import org.olat.repository.model.SearchMyRepositoryEntryViewParams; @@ -144,7 +145,7 @@ public class CatalogNodeController extends BasicController implements Activateab SearchMyRepositoryEntryViewParams searchParams = new SearchMyRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles()); searchParams.setParentEntry(catalogEntry); - searchParams.setClosed(Boolean.FALSE); + searchParams.setEntryStatus(RepositoryEntryStatusEnum.preparationToPublished()); entryListController = new RepositoryEntryListController(ureq, wControl, searchParams, true, false, "catalog", stackPanel); if(!entryListController.isEmpty() || searchParams.getFilters() != null) { @@ -156,7 +157,7 @@ public class CatalogNodeController extends BasicController implements Activateab SearchMyRepositoryEntryViewParams searchClosedParams = new SearchMyRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles()); searchClosedParams.setParentEntry(catalogEntry); - searchClosedParams.setClosed(Boolean.TRUE); + searchClosedParams.setEntryStatus(new RepositoryEntryStatusEnum[] {RepositoryEntryStatusEnum.closed }); closedEntryListController = new RepositoryEntryListController(ureq, wControl, searchClosedParams, true, false, "catalog-closed", stackPanel); if(!closedEntryListController.isEmpty() || searchClosedParams.getFilters() != null) { mainVC.put("closedEntries", closedEntryListController.getInitialComponent()); diff --git a/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java b/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java index d607b447dcff1f6689ab2349ae75156c0401388e..87f65b95c76871ab58574db09fde7cec6513c23f 100644 --- a/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java +++ b/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java @@ -49,6 +49,7 @@ import org.olat.modules.curriculum.CurriculumModule; import org.olat.modules.curriculum.CurriculumService; import org.olat.modules.curriculum.ui.CurriculumListController; import org.olat.repository.CatalogEntry; +import org.olat.repository.RepositoryEntryStatusEnum; import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryModule; import org.olat.repository.RepositoryService; @@ -314,7 +315,7 @@ public class OverviewRepositoryListController extends BasicController implements SearchMyRepositoryEntryViewParams searchParams = new SearchMyRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles()); searchParams.setMembershipMandatory(true); - searchParams.setClosed(Boolean.FALSE); + searchParams.setEntryStatus(RepositoryEntryStatusEnum.preparationToPublished()); OLATResourceable ores = OresHelper.createOLATResourceableInstance("My", 0l); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); @@ -407,7 +408,7 @@ public class OverviewRepositoryListController extends BasicController implements SearchMyRepositoryEntryViewParams searchParams = new SearchMyRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles()); searchParams.setMembershipMandatory(true); - searchParams.setClosed(Boolean.TRUE); + searchParams.setEntryStatus(new RepositoryEntryStatusEnum[] {RepositoryEntryStatusEnum.closed }); OLATResourceable ores = OresHelper.createOLATResourceableInstance("Closed", 0l); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java index 2199f297bc976e2d9506e07baa91731fdaa711dd..703c047449c0f0a35232ba81ce6e27b64be32473 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java @@ -80,6 +80,7 @@ import org.olat.core.util.Util; import org.olat.core.util.resource.OresHelper; import org.olat.course.CorruptedCourseException; import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryEntryStatusEnum; import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryModule; import org.olat.repository.RepositoryService; @@ -511,7 +512,15 @@ public class RepositoryEntryListController extends FormBasicController searchParams.setAuthor(se.getAuthor()); searchParams.setText(se.getDisplayname()); searchParams.setMembershipMandatory(se.isMembershipMandatory()); - searchParams.setClosed(se.getClosed()); + if(se.getClosed() != null) { + if(se.getClosed().booleanValue()) { + searchParams.setEntryStatus(new RepositoryEntryStatusEnum[] { RepositoryEntryStatusEnum.closed }); + } else { + searchParams.setEntryStatus(RepositoryEntryStatusEnum.preparationToPublished()); + } + } else { + searchParams.setEntryStatus(null); + } tableEl.reset(true, true, true); RepositoryEntryListState state = new RepositoryEntryListState();