public Long getId() { return portalPage.getId(); }
public Long get(final PortalPage input) { return input.getId(); } } : null;
private boolean isSystemDashboardId(final Long dashboardId) { if (dashboardId == null) { return false; } final PortalPage defaultPortalPage = portalPageService.getSystemDefaultPortalPage(); return defaultPortalPage != null && defaultPortalPage.getId().equals(dashboardId); }
private String viewLinkFor(PortalPage page) { // e.g. http://localhost:8090/jira/secure/Dashboard.jspa?selectPageId=10019 return String.format("%s/secure/Dashboard.jspa?selectPageId=%d", jiraBaseUrls.baseUrl(), page.getId()); }
private String selfLinkFor(PortalPage page) { // e.g. http://localhost:8090/jira/rest/api/2/dashboard/10019 return String.format("%s%s/%s", jiraBaseUrls.restApi2BaseUrl(), "dashboard", page.getId()); }
@Override public List<Long> load(@Nonnull final String ownerKey) { final Collection<PortalPage> requestsFromDatabase = delegateStore.getAllOwnedPortalPages(ownerKey); if (requestsFromDatabase != null) { List<Long> ownedPortalPageIds = new ArrayList<Long>(requestsFromDatabase.size()); for (final PortalPage PortalPage : requestsFromDatabase) { ownedPortalPageIds.add(PortalPage.getId()); } return ImmutableList.copyOf(ownedPortalPageIds); } else { return ImmutableList.of(); } } }
private String createUnfavouriteLink(final PortalPage portalPage) { StringBuilder buffer = new StringBuilder("RemoveFavourite.jspa?entityType=").append(portalPage.getEntityType().getName()); buffer.append("&entityId=").append(portalPage.getId()); buffer.append("&atl_token=").append(xsrfTokenGenerator.generateToken()); buffer.append("&returnUrl=").append("Dashboard.jspa"); return createLink("dashmsg_unfavourite", buffer.toString()); }
private String createFavouriteLink(final PortalPage portalPage) { StringBuilder buffer = new StringBuilder("AddFavourite.jspa?entityType=").append(portalPage.getEntityType().getName()); buffer.append("&entityId=").append(portalPage.getId()); buffer.append("&atl_token=").append(xsrfTokenGenerator.generateToken()); buffer.append("&returnUrl=").append(JiraUrlCodec.encode("Dashboard.jspa?selectPageId=" + portalPage.getId())); return createLink("dashmsg_favourite", buffer.toString()); }
public boolean evaluate(final Object o) { final PortalPage portalPage = (PortalPage) o; // Has someone apart from the owner favourited this portal page? return (favouriteIds.contains(portalPage.getId())) ? portalPage.getFavouriteCount() > 1 : portalPage.getFavouriteCount() > 0; } });
public boolean shouldDisplay(final Map<String, Object> context) { final PortalPage defaultPortalPage = portalPageService.getSystemDefaultPortalPage(); final DashboardId dashboardId = (DashboardId) context.get(CONTEXT_KEY_DASHBOARD_ID); final String username = (String) context.get(JiraWebInterfaceManager.CONTEXT_KEY_USERNAME); //if we're viewing the default dashboard and the user has permission to edit it means we're in the admin section and //we should not show the Manage dashboards link. if (dashboardId != null && defaultPortalPage.getId().equals(Long.valueOf(dashboardId.value())) && dashboardPermissionService.isWritableBy(dashboardId, username)) { return false; } final ApplicationUser user = userUtil.getUserByName(username); //for any other dashboard if the user is logged in show the Manage link. return user != null; }
/** * Return the PortalPage that the current user can see. This method should not be called directly because it is * slow. * * @return a PortalPage the current user can see. */ private Long getPageIdForUser() { //try to select the user's first favourite final List<DashboardTab> tabs = getUserTabs(); if (tabs != null && !tabs.isEmpty()) { return Long.valueOf(tabs.get(0).getDashboardId().toString()); } //no favourite pages means that we should use the system default. return portalPageService.getSystemDefaultPortalPage().getId(); }
private void deletePortalPageImpl(final PortalPage portalPage) { Assertions.notNull("portalPage", portalPage); favouritesManager.removeFavouritesForEntityDelete(portalPage); portalPageManager.delete(portalPage.getId()); } }
public PortalPage getSystemDefaultPortalPage() { // this can be called by two threads at the same time. They should both return the same value so // we don't need to stop them. if (systemDefaultPortalPageId == null) { final PortalPage page = delegateStore.getSystemDefaultPortalPage(); if (page != null) { systemDefaultPortalPageId = page.getId(); } } if (systemDefaultPortalPageId != null) { return getPortalPage(systemDefaultPortalPageId); } else { return null; } }
private DashboardBean buildDashboardBean(PortalPage portalPage) { return new DashboardBean(String.valueOf(portalPage.getId()), portalPage.getName(), selfLinkFor(portalPage), viewLinkFor(portalPage)); }
@Override public String doDefault() throws Exception { if (!isDashboardPluginEnabled()) { String link = getAdministratorContactLink(); addErrorMessage(getText("admin.errors.portalpages.plugin.disabled", link)); return ERROR; } final PortalPage defaultPortalPage = portalPageService.getSystemDefaultPortalPage(); if (defaultPortalPage == null) { return ERROR; } defaultPortalPageId = defaultPortalPage.getId(); if (!permissionService.isWritableBy(DashboardId.valueOf(defaultPortalPageId.toString()), getUsername())) { return ERROR; } return SUCCESS; }
public Builder portalPage(PortalPage page) { id = page.getId(); name = page.getName(); description = page.getDescription(); isSystemDashboard = page.isSystemDefaultPortalPage(); favouriteCount = page.getFavouriteCount(); permissions = page.getPermissions(); layout = page.getLayout(); owner = page.getOwner(); version = page.getVersion(); return this; }
public void validateForChangeOwner(final JiraServiceContext serviceCtx, final PortalPage page) { Assertions.notNull("serviceCtx", serviceCtx); Assertions.notNull("page", page); if (serviceCtx.getLoggedInApplicationUser() != null) { final PortalPage portalPageByName = portalPageManager.getPortalPageByName(serviceCtx.getLoggedInApplicationUser(), page.getName()); if ((portalPageByName != null) && !page.getId().equals(portalPageByName.getId())) { serviceCtx.getErrorCollection().addErrorMessage( serviceCtx.getI18nBean().getText("admin.errors.portalpages.already.owns.same.name", serviceCtx.getLoggedInApplicationUser().getDisplayName())); } if (page.getPermissions().isPrivate()) { serviceCtx.getErrorCollection().addErrorMessage(serviceCtx.getI18nBean().getText("admin.errors.portalpages.private")); } } }
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="UL_UNRELEASED_LOCK_EXCEPTION_PATH", justification="This appears to be doing exactly the right thing with the finally-clause to release the lock") public PortalPage create(final PortalPage portalPage) { Assertions.notNull("portalPage", portalPage); Assertions.notNull("portalPage.name", portalPage.getName()); Assertions.notNull("portalPage.owner", portalPage.getOwner()); PortalPage returnPage = null; try { returnPage = delegateStore.create(portalPage); } finally { if (returnPage != null) { cacheByUser.remove(portalPage.getOwner().getKey()); cacheById.remove(returnPage.getId()); } } return copyPortalPage(returnPage); }
@Override public PortalPage update(final PortalPage portalPage) { assertCreate(portalPage); notNull("portalPage.id", portalPage.getId()); final PortalPage newPortalPage = PortalPage.portalPage(portalPageStore.update(portalPage)).permissions(portalPage.getPermissions()).build(); shareManager.updateSharePermissions(newPortalPage); indexer.index(newPortalPage).await(); eventPublisher.publish(new DashboardUpdated(portalPage, newPortalPage, authenticationContext.getUser())); return newPortalPage; }