Class PageLinkManager

    • Constructor Detail

      • PageLinkManager

        public PageLinkManager()
    • Method Detail

      • getByTypeWebsiteAndChannelId

        @Deprecated
        public PageLinkConfig getByTypeWebsiteAndChannelId​(SessionConfig sessionConfig,
                                                           int type,
                                                           String website,
                                                           String requestedChannelId,
                                                           ITransaction transaction)
                                                    throws ManagerException,
                                                           PortalException
        Deprecated.
        Description copied from interface: IPageLinkManager
        The most appropriate page link is identified based on the website (or URL Rules of the website), type, priority and destination channelId. In order to calculate the page link the following criteria are used:
        • First consider a list of all page links that match the given website (or URL Rules of the website), type and priority.
        • For pages type Login:
          • Within the list if there are links with channelId specified, prioritize them.
          • If a link's channel is not within the list of parent channels of the destination channel, do not consider it. Else prioritize the closest to the destination channel.
          • Among the links with no channel specified, prioritize the one whose page has a common ancestor with the destination channel closest to the destination channel. Finally consider the distance between this common ancestor and the page link's page.
        • For pages type Home Page:
          • Within the list, prioritize the page with the biggest priority.
        If no matching pagelink is found return null.
        Specified by:
        getByTypeWebsiteAndChannelId in interface IPageLinkManager
        Parameters:
        sessionConfig - the session identifier of the current user.
        type - the page link type.
        website - the website base URL that the user is accessing.
        requestedChannelId - The destination channel identifier.
        transaction - the current transaction.
        Returns:
        The calculated page link.
        Throws:
        ManagerException - if any error occurs during the persisting process.
        PortalException - if any other error occurs during the process.
      • getByTypeWebsiteAndChannelId

        @Deprecated
        public PageLinkConfig getByTypeWebsiteAndChannelId​(SessionConfig sessionConfig,
                                                           int type,
                                                           String website,
                                                           String requestedChannelId,
                                                           PortalRequestContext requestContext,
                                                           ITransaction transaction)
                                                    throws ManagerException,
                                                           PortalException
        Deprecated.
        Description copied from interface: IPageLinkManagerSPI
        The most appropriate page link is identified based on the website (or URL Rules of the website), type, priority, Context Rules and destination channelId. In order to calculate the page link the following criteria are used:
        • First consider a list of all page links that match the given website (or URL Rules of the website), type and priority.
        • For only pages type Login:
          • Within the list if there are links with channelId specified, prioritize them.
          • If a link's channel is not within the list of parent channels of the destination channel, do not consider it. Else prioritize the closest to the destination channel.
          • Among the links with no channel specified, prioritize the one whose page has a common ancestor with the destination channel closest to the destination channel. Finally consider the distance between this common ancestor and the page link's page.
        • The most appropriated context is consider to define which page is better or not to be selected.
        • If more than one link match with all criteria, the link with the biggest priority will be considered.
        If no matching pagelink is found return null.
        Specified by:
        getByTypeWebsiteAndChannelId in interface IPageLinkManagerSPI
        Parameters:
        sessionConfig - the session identifier of the current user.
        type - the page link type.
        website - the website that the user is accessing.
        requestedChannelId - The destination channel identifier.
        requestContext - the list of all request context.
        transaction - the current transaction.
        Returns:
        The calculated page link.
        Throws:
        PortalException - if any other error occurs during the process.
        ManagerException
      • getDefaultHomePage

        public PageLinkConfig getDefaultHomePage​(SessionConfig sessionConfig,
                                                 IWebsiteBaseURL websiteBaseURL,
                                                 ITransaction transaction)
                                          throws ManagerException,
                                                 PortalException
        Description copied from interface: IPageLinkManager
        Returns the most appropriate home page, based on the given website base URL.

        In order to choose the page link the following criteria are used:

        • The page link must be associated with the corresponding website.
        • The page link rules must be fulfilled.
        • If multiple page links could be matched, the most priority one is used.

        If no matching page link is found, return null.

        Specified by:
        getDefaultHomePage in interface IPageLinkManager
        Parameters:
        sessionConfig - the session identifier of the current user.
        websiteBaseURL - the IWebsiteBaseURL that the user is accessing.
        transaction - the current transaction.
        Returns:
        The calculated page link, or null if none matches the search criteria.
        Throws:
        PortalException - if any error occurs during the persisting process.
        ManagerException
      • getDefaultLoginPage

        public PageLinkConfig getDefaultLoginPage​(SessionConfig sessionConfig,
                                                  IWebsiteBaseURL websiteBaseURL,
                                                  String channelId,
                                                  ITransaction transaction)
                                           throws ManagerException,
                                                  PortalException
        Description copied from interface: IPageLinkManager
        Returns the most appropriate login page, based on the given website base URL and destination channel identifier.

        In order to choose the page link the following criteria are used:

        • The page link must be associated with the corresponding website.
        • If the page link's channel is specified, it must reside in or be equal to the channel corresponding to the channelId argument.
        • The page link rules must be fulfilled.
        • If multiple page links could be matched, the most priority one is used.

        If no matching page link is found, return null.

        Specified by:
        getDefaultLoginPage in interface IPageLinkManager
        Parameters:
        sessionConfig - the session identifier of the current user.
        websiteBaseURL - the IWebsiteBaseURL that the user is accessing.
        channelId - The destination channel identifier.
        transaction - the current transaction.
        Returns:
        The calculated page link.
        Throws:
        PortalException - if any error occurs during the persisting process.
        ManagerException
      • getDefaultHomePage

        public PageLinkConfig getDefaultHomePage​(SessionConfig sessionConfig,
                                                 IWebsiteBaseURL websiteBaseURL,
                                                 PortalRequestContext requestContext,
                                                 ITransaction transaction)
                                          throws PortalException
        Description copied from interface: IPageLinkManagerSPI
        Returns the most appropriate home page is identified based on the website, priority and Context Rules.

        In order to choose the page link the following criteria are used:

        • The page link must be associated with the corresponding website.
        • The page link rules must be fulfilled.
        • If multiple page links could be matched, the most priority one is used.

        If no matching page link is found, return null.

        Specified by:
        getDefaultHomePage in interface IPageLinkManagerSPI
        Parameters:
        sessionConfig - the session identifier of the current user.
        websiteBaseURL - the IWebsiteBaseURL that the user is accessing.
        requestContext - the list of all request context.
        transaction - the current transaction.
        Returns:
        The calculated page link.
        Throws:
        PortalException - if any other error occurs during the process.
      • getDefaultLoginPage

        public PageLinkConfig getDefaultLoginPage​(SessionConfig sessionConfig,
                                                  IWebsiteBaseURL websiteBaseURL,
                                                  String channelId,
                                                  PortalRequestContext requestContext,
                                                  ITransaction transaction)
                                           throws PortalException
        Description copied from interface: IPageLinkManagerSPI
        Returns the most appropriate login page is identified based on the website, priority, Context Rules and destination channel identifier.

        In order to choose the page link the following criteria are used:

        • The page link must be associated with the corresponding website.
        • If the page link's channel is specified, it must reside in or be equal to the channel corresponding to the channelId argument.
        • The page link rules must be fulfilled.
        • If multiple page links could be matched, the most priority one is used.

        If no matching page link is found, return null.

        Specified by:
        getDefaultLoginPage in interface IPageLinkManagerSPI
        Parameters:
        sessionConfig - the session identifier of the current user.
        websiteBaseURL - the IWebsiteBaseURL that the user is accessing.
        channelId - The destination channel identifier.
        requestContext - the list of all request context.
        transaction - the current transaction.
        Returns:
        The calculated page link.
        Throws:
        PortalException - if any other error occurs during the process.
      • getDefaultErrorPage

        public PageLinkConfig getDefaultErrorPage​(SessionConfig sessionConfig,
                                                  IWebsiteBaseURL websiteBaseURL,
                                                  PortalRequestContext requestContext,
                                                  ITransaction transaction)
                                           throws PortalException
        Description copied from interface: IPageLinkManagerSPI
        Returns the most appropriate error page, based on the given website base URL.

        In order to choose the page link the following criteria are used:

        • The page link must be associated with the corresponding website.
        • The page link rules must be fulfilled.
        • If multiple page links could be matched, the most priority one is used.

        If no matching page link is found, return null.

        Specified by:
        getDefaultErrorPage in interface IPageLinkManagerSPI
        Parameters:
        sessionConfig - the session identifier of the current user.
        websiteBaseURL - the IWebsiteBaseURL that the user is accessing.
        requestContext - the list of all request context.
        transaction - the current transaction.
        Returns:
        The calculated page link, or null if none matches the search criteria.
        Throws:
        PortalException - if any error occurs during the persisting process.