Class DefaultPortalPageService

java.lang.Object
com.atlassian.jira.bc.portal.DefaultPortalPageService
All Implemented Interfaces:
PortalPageService

public class DefaultPortalPageService extends Object implements PortalPageService
The base class for PortalPageService implementations
Since:
v3.13
  • Constructor Details

  • Method Details

    • getFavouritePortalPages

      public Collection<PortalPage> getFavouritePortalPages(ApplicationUser user)
      Description copied from interface: PortalPageService
      Retrieve all PortalPage's a user has favourited. Permission checks are done to ensure the user can see the PortalPage, as visibility may have been removed from underneath them.
      Specified by:
      getFavouritePortalPages in interface PortalPageService
      Parameters:
      user - The user who has favourite PortalPage's. Also to test visibility and with
      Returns:
      a Collection of PortalPage objects that represent PortalPage's the user has favourited.
    • isFavourite

      public boolean isFavourite(ApplicationUser user, PortalPage portalPage)
      Description copied from interface: PortalPageService
      Is the passed PortalPage a favourite of the passed User.
      Specified by:
      isFavourite in interface PortalPageService
      Parameters:
      user - the user to check.
      portalPage - the page to check.
      Returns:
      true if the PortalPage is a favourite of the passed User.
    • getOwnedPortalPages

      public Collection<PortalPage> getOwnedPortalPages(ApplicationUser user)
      Description copied from interface: PortalPageService
      Retrieve all PortalPage's a user owns/has created.
      Specified by:
      getOwnedPortalPages in interface PortalPageService
      Parameters:
      user - The user who created the PortalPage's.
      Returns:
      a Collection of PortalPage objects that represent PortalPage's the user has created.
    • getNonPrivatePortalPages

      public Collection<PortalPage> getNonPrivatePortalPages(ApplicationUser user)
      Description copied from interface: PortalPageService
      Get a user's non private PortalPage's. I.e. PortalPage's that other users can possibly see.
      Specified by:
      getNonPrivatePortalPages in interface PortalPageService
      Parameters:
      user - The author of the PortalPage's
      Returns:
      Collection of PortalPage objects that do not have private scope.
    • getPortalPagesFavouritedByOthers

      public Collection<PortalPage> getPortalPagesFavouritedByOthers(ApplicationUser user)
      Description copied from interface: PortalPageService
      Get PortalPage's owned by a given user that have been favourited by at least one other user
      Specified by:
      getPortalPagesFavouritedByOthers in interface PortalPageService
      Parameters:
      user - The author of the PortalPage's
      Returns:
      Collection of PortalPage objects owned by the given user and favourited by at least one other user
    • getPortalPage

      public PortalPage getPortalPage(JiraServiceContext context, Long portalPageId)
      Description copied from interface: PortalPageService
      Retrieve a given PortalPage by id.
      Specified by:
      getPortalPage in interface PortalPageService
      Parameters:
      context - JIRA Service context containing an error collection and user requesting (to run) the PortalPage. The PortalPage must exist and the user must be able to see PortalPage else an error will result.
      portalPageId - The id of the PortalPage to retrieve. Id must not be null.
      Returns:
      The PortalPage as specified by the id, or null if none exists for the user.
    • validateForGetPortalPage

      public boolean validateForGetPortalPage(JiraServiceContext context, Long portalPageId)
      Description copied from interface: PortalPageService
      Check if the user in the service context has permission to get the portal page with the id provided.
      Specified by:
      validateForGetPortalPage in interface PortalPageService
      Parameters:
      context - Context containing user, error collection and i18n bean
      portalPageId - The id of the portal page to get
      Returns:
      true if the user has permission, false if the user has no permission, or if the page doesn't exist.
    • getSystemDefaultPortalPage

      public PortalPage getSystemDefaultPortalPage()
      Description copied from interface: PortalPageService
      This returns the System Default PortalPage as defined by the JIRA Administrators
      Specified by:
      getSystemDefaultPortalPage in interface PortalPageService
      Returns:
      the system default PortalPage
    • validateForCreate

      public boolean validateForCreate(JiraServiceContext serviceCtx, PortalPage portalPage)
      Description copied from interface: PortalPageService
      Called to validate that the PortalPage object is in a valid state for creation. Call this before calling the create method .
      Specified by:
      validateForCreate in interface PortalPageService
      Parameters:
      serviceCtx - the JiraServiceContext in play
      portalPage - the PortalPage object that is to be validated for create
      Returns:
      true if the PortalPage is valid or false. The ErrorCollection of the serviceCtx will have any errors in it.
    • createPortalPage

      public PortalPage createPortalPage(JiraServiceContext serviceCtx, PortalPage portalPage)
      Description copied from interface: PortalPageService
      Called to create and store the specified portalPage into the database.
      Specified by:
      createPortalPage in interface PortalPageService
      Parameters:
      serviceCtx - the JiraServiceContext in play
      portalPage - the PortalPage object that is to be created
      Returns:
      a fully fledged PortalPage with the new Id in it.
    • createPortalPage

      public PortalPage createPortalPage(JiraServiceContext serviceCtx, PortalPage portalPage, boolean isFavourite)
      Description copied from interface: PortalPageService
      Called to create and store the specified portalPage into the database.
      Specified by:
      createPortalPage in interface PortalPageService
      Parameters:
      serviceCtx - the JiraServiceContext in play
      portalPage - the PortalPage object that is to be created
      isFavourite - set to true if the PortalPage should be marked as a favourite
      Returns:
      a fully fledged PortalPage with the new Id in it.
    • validateForCreatePortalPageByClone

      public boolean validateForCreatePortalPageByClone(JiraServiceContext serviceCtx, PortalPage portalPage, Long clonePortalPageId)
      Description copied from interface: PortalPageService
      Called to validate that a new PortalPage can be created by cloning its Portlet content from an existing PortalPage object.
      Specified by:
      validateForCreatePortalPageByClone in interface PortalPageService
      Parameters:
      serviceCtx - the JiraServiceContext in play
      portalPage - the PortalPage object that is to be created
      clonePortalPageId - the id of an existing PortalPage to clone
      Returns:
      true if the PortalPage can be cloned from another page
    • createPortalPageByClone

      public PortalPage createPortalPageByClone(JiraServiceContext serviceCtx, PortalPage portalPage, Long clonePortalPageId, boolean isFavourite)
      Description copied from interface: PortalPageService
      Called to create and store the specified portalPage into the database by cloning its Portlet content from an existing PortalPage object.
      Specified by:
      createPortalPageByClone in interface PortalPageService
      Parameters:
      serviceCtx - the JiraServiceContext in play
      portalPage - the PortalPage object that is to be created
      clonePortalPageId - the id of an existing PortalPage to clone
      isFavourite - set to true if the PortalPage should be marked as a favourite
      Returns:
      a fully fledged PortalPage with the new Id in it.
    • validateForDelete

      public boolean validateForDelete(JiraServiceContext serviceCtx, Long portalPageId)
      Description copied from interface: PortalPageService
      Called to validate that the specified portalPage with the portalPageId can be deleted.
      Specified by:
      validateForDelete in interface PortalPageService
      Parameters:
      serviceCtx - the JiraServiceContext in play
      portalPageId - the id of the PortalPage to delete
      Returns:
      true if the PortalPage can be deleted. The ErrorCollection of the serviceCtx will have any errors in it.
    • deleteAllPortalPagesForUser

      public void deleteAllPortalPagesForUser(ApplicationUser user)
      Description copied from interface: PortalPageService
      Delete all Portal Pages owned by a user. This method will also remove all favourites for all portlets as well as remove all favourites for the user. A nice big cleanup method for when deleting a user.
      Specified by:
      deleteAllPortalPagesForUser in interface PortalPageService
      Parameters:
      user - The user to clean up after.
    • deletePortalPage

      public void deletePortalPage(JiraServiceContext serviceCtx, Long portalPageId)
      Description copied from interface: PortalPageService
      Called to delete the PortalPage with the specified portalPageId.
      Specified by:
      deletePortalPage in interface PortalPageService
      Parameters:
      serviceCtx - the JiraServiceContext in play
      portalPageId - the id of the PortalPage to delete
    • validateForUpdate

      public boolean validateForUpdate(JiraServiceContext serviceCtx, PortalPage portalPage)
      Description copied from interface: PortalPageService
      Called to validate that the PortalPage can be be updated
      Specified by:
      validateForUpdate in interface PortalPageService
      Parameters:
      serviceCtx - the JiraServiceContext in play
      portalPage - the PortalPage to update
      Returns:
      true if the PortalPage is valid or false. The ErrorCollection of the serviceCtx will have any errors in it.
    • updatePortalPage

      public PortalPage updatePortalPage(JiraServiceContext serviceCtx, PortalPage portalPage, boolean isFavourite)
      Description copied from interface: PortalPageService
      Updates the specified PortalPage in the database
      Specified by:
      updatePortalPage in interface PortalPageService
      Parameters:
      serviceCtx - the JiraServiceContext in play
      portalPage - the PortalPage to update
      isFavourite - set to true if the PortalPage is to be marked as a favourite
      Returns:
      a newly updated PortalPage
    • validateForChangeOwner

      public void validateForChangeOwner(JiraServiceContext serviceCtx, PortalPage page)
      Description copied from interface: PortalPageService
      This will validate that the dashboard page can be changed to the new owbner.
      Specified by:
      validateForChangeOwner in interface PortalPageService
      Parameters:
      serviceCtx - Context containing user, error collection and i18n bean
      page - the PortalPage to validate
    • updatePortalPageOwner

      public PortalPage updatePortalPageOwner(JiraServiceContext serviceCtx, Long portalPageId, ApplicationUser newOwner)
      Description copied from interface: PortalPageService
      Changes the owner of the portal page. User performing this operation must be an administrator.

      You should call PortalPageService.validateForChangeOwner(JiraServiceContext, PortalPage) prior to calling this method.

      Specified by:
      updatePortalPageOwner in interface PortalPageService
      Parameters:
      serviceCtx - the context of the service call
      portalPageId - the id of the PortalPage to update
      newOwner - the new owner
      Returns:
      a newly updated PortalPage, or null if user is not an admin
    • validateForChangePortalPageSequence

      public boolean validateForChangePortalPageSequence(JiraServiceContext serviceCtx, Long portalPageId)
      Description copied from interface: PortalPageService
      Called to validate that sequence of a PortalPage can be changed.
      Specified by:
      validateForChangePortalPageSequence in interface PortalPageService
      Parameters:
      serviceCtx - the context of the service call
      portalPageId - the id of the PortalPage to re-sequence
      Returns:
      true if the PortalPage can be re-sequenced
    • increasePortalPageSequence

      public void increasePortalPageSequence(JiraServiceContext serviceCtx, Long portalPageId)
      Description copied from interface: PortalPageService
      Increases the position of the page configuration in the user's page configuration set
      Specified by:
      increasePortalPageSequence in interface PortalPageService
      Parameters:
      serviceCtx - the context of the service call
      portalPageId - the id of the PortalPage to re-sequence
    • decreasePortalPageSequence

      public void decreasePortalPageSequence(JiraServiceContext serviceCtx, Long portalPageId)
      Description copied from interface: PortalPageService
      Decreases the position of the page configuration in the user's page configuration set.
      Specified by:
      decreasePortalPageSequence in interface PortalPageService
      Parameters:
      serviceCtx - the context of the service call
      portalPageId - the id of the PortalPage to re-sequence
    • moveToStartPortalPageSequence

      public void moveToStartPortalPageSequence(JiraServiceContext serviceCtx, Long portalPageId)
      Description copied from interface: PortalPageService
      Puts the given page to the start of the user's page configuration set.
      Specified by:
      moveToStartPortalPageSequence in interface PortalPageService
      Parameters:
      serviceCtx - the context of the service call
      portalPageId - the id of the PortalPage to re-sequence
    • moveToEndPortalPageSequence

      public void moveToEndPortalPageSequence(JiraServiceContext serviceCtx, Long portalPageId)
      Description copied from interface: PortalPageService
      Puts the given page to the end of the user's page configuration set.
      Specified by:
      moveToEndPortalPageSequence in interface PortalPageService
      Parameters:
      serviceCtx - the context of the service call
      portalPageId - the id of the PortalPage to re-sequence
    • saveLegacyPortletConfiguration

      public void saveLegacyPortletConfiguration(JiraServiceContext serviceCtx, PortletConfiguration portletConfiguration)
      Description copied from interface: PortalPageService
      Save a specific PortletConfiguration to a database store.
      Specified by:
      saveLegacyPortletConfiguration in interface PortalPageService
      Parameters:
      serviceCtx - the context of the service call
      portletConfiguration - The portletConfiguration to update
    • validateForSearch

      public void validateForSearch(JiraServiceContext serviceCtx, SharedEntitySearchParameters searchParameters)
      Description copied from interface: PortalPageService
      This will validate that the input parameters are valid for a search that encompasses ANY share entity type.
      Specified by:
      validateForSearch in interface PortalPageService
      Parameters:
      serviceCtx - Context containing user, error collection and i18n bean
      searchParameters - the SharedEntitySearchParameters to validate
    • search

      public SharedEntitySearchResult<PortalPage> search(JiraServiceContext serviceCtx, SharedEntitySearchParameters searchParameters, int pagePosition, int pageWidth)
      Description copied from interface: PortalPageService
      Search for the PortalPages that match the passed SearchParameters. The result can be paged so that a subset of the results can be returned.
      Specified by:
      search in interface PortalPageService
      Parameters:
      serviceCtx - Context containing user, error collection and i18n bean
      searchParameters - the searchParameters to query.
      pagePosition - the page to return.
      pageWidth - the number of results per page.
      Returns:
      the result of the search.
    • getPortletConfigurations

      public List<List<PortletConfiguration>> getPortletConfigurations(JiraServiceContext serviceCtx, Long portalPageId)
      Description copied from interface: PortalPageService
      Returns all portlet configurations for a particular dashboard in colums and rows. The portlet configurations are returned sorted correctly in each column by row.
      Specified by:
      getPortletConfigurations in interface PortalPageService
      Parameters:
      serviceCtx - Context containing user, error collection and i18n bean
      portalPageId - The id of the portal page to get
      Returns:
      A list of lists representing all portlet configs in all columns for the gadget in question.
    • checkSystemDefaultSharePermissions

      protected boolean checkSystemDefaultSharePermissions(JiraServiceContext serviceCtx, SharedEntity.SharePermissions sharePermissions)
      Check that the passed permissions are valid for the System Dashboard.
      Parameters:
      serviceCtx - the JiraServiceContext in play
      sharePermissions - the Set of SharePermission's to check
      Returns:
      true if they are valid