private Collection<PortalPage> setRelatedState(final Collection<PortalPage> portalPages) { final Collection<PortalPage> ret = new ArrayList<PortalPage>(portalPages.size()); for (final PortalPage portalPage : portalPages) { ret.add(setRelatedState(portalPage)); } return ret; }
@Override public PortalPage getSystemDefaultPortalPage() { final PortalPage systemDefaultPortalPage = portalPageStore.getSystemDefaultPortalPage(); return setRelatedState(systemDefaultPortalPage); }
@Override public PortalPage getPortalPageById(final Long portalPageId) { notNull("portalPageId", portalPageId); final PortalPage portalPage = portalPageStore.getPortalPage(portalPageId); return setRelatedState(portalPage); }
@Override public Collection<PortalPage> getAllOwnedPortalPages(final ApplicationUser owner) { notNull("owner", owner); notNull("owner.name", owner.getName()); final Collection<PortalPage> portalPages = portalPageStore.getAllOwnedPortalPages(owner); if (portalPages == null) { return Collections.emptyList(); } else { return setRelatedState(portalPages); } }
@Override public PortalPage getPortalPage(final ApplicationUser user, final Long id) { notNull("id", id); final PortalPage portalPage = portalPageStore.getPortalPage(id); if (portalPage == null) { return null; } // the System Default Dashboard is a special page and can be // shown to anyone including the Anonymous (null) user if (!hasPermissionToUse(user, portalPage)) { return null; } return setRelatedState(portalPage); }
@Override public PortalPage getPortalPageByName(final ApplicationUser owner, final String pageName) { notNull("owner", owner); notNull("owner,name", owner.getName()); notNull("pageName", pageName); final PortalPage portalPage = portalPageStore.getPortalPageByOwnerAndName(owner, pageName); return setRelatedState(portalPage); }
@Override public void adjustFavouriteCount(final SharedEntity entity, final int adjustmentValue) { notNull("entity", entity); Assertions.equals("PortalPage type", PortalPage.ENTITY_TYPE, entity.getEntityType()); final PortalPage portalPage = portalPageStore.adjustFavouriteCount(entity, adjustmentValue); indexer.index(setRelatedState(portalPage)).await(); }