Class WebsiteManager

  • All Implemented Interfaces:
    IWebsiteManager, IWebsiteManagerSPI

    public class WebsiteManager
    extends Object
    implements IWebsiteManagerSPI
    Implementation of website related high-level operations.
    Since:
    6.2.0
    Version:
    $Revision: 23785 $ $Date: 2020-05-06 18:46:13 -0300 (Wed, 06 May 2020) $
    • Constructor Detail

      • WebsiteManager

        public WebsiteManager()
    • Method Detail

      • getAllWebsites

        public List<IWebsite> getAllWebsites()
                                      throws PortalException
        Returns all websites existent in the portal.

        Caches the list so that no further database access is needed to access them.

        These objects are readonly. Any invocation to any methods that change these websites or their URLs will raise an UnsupportedOperationException.

        Returns:
        all websites existent in the portal.
        Throws:
        PortalException
        Since:
        6.2.0
      • getWebsiteByChannelId

        public IWebsite getWebsiteByChannelId​(String channelId)
                                       throws PortalException
        Description copied from interface: IWebsiteManagerSPI
        Returns the website that the specific channel belongs to.

        The specified channel and its ancestral are searched for the first channel that corresponds to a website root. The channel belongs to that website, and it is returned.

        If neither the channel or its ancestral is a website root, then the channel does not belong to any website, and null is returned.

        Specified by:
        getWebsiteByChannelId in interface IWebsiteManagerSPI
        Parameters:
        channelId - the channel identifier.
        Returns:
        the website the channel belongs to, or null if the channel does not belong to any website.
        Throws:
        PortalObjectNotFoundException - if the channel does not exist.
        PortalException
      • getWebsiteBaseURL

        public IWebsiteBaseURL getWebsiteBaseURL​(HttpServletRequest request)
                                          throws PortalException
        Description copied from interface: IWebsiteManager
        Returns the website's base URL that a request corresponds to.

        If the request does not correspond to any configured website base URL but there is a website configured as default, a website base URL will be dynamically generated and returned, referencing the default website in IWebsiteBaseURL.getWebsite(), as if it was an additional base URL of the default website.

        If the request does not corresponds to any configured website base URL and there is no website configured as default, null is returned.

        Specified by:
        getWebsiteBaseURL in interface IWebsiteManager
        Parameters:
        request - the request.
        Returns:
        the website base URL, or null if no website base URL corresponds to the request.
        Throws:
        PortalException
      • getWebsiteByChannelIdNonRecursively

        public IWebsite getWebsiteByChannelIdNonRecursively​(String channelId,
                                                            FlushModeType flushModeType)
                                                     throws PortalException
        Returns the channel's Website non-recursively (i.e. doesn't search for a website through the channel's parents).
        Parameters:
        channelId - the channel identifier.
        flushModeType - the FlushModeType to be used in query, or null to not set any in query.
        Returns:
        the channel's Website non-recursively (i.e. doesn't search for a website through the channel's parents).
        Throws:
        PortalException
        Since:
        6.2.0
      • getWebsiteByChannelId

        public IWebsite getWebsiteByChannelId​(String channelId,
                                              FlushModeType flushModeType)
                                       throws PortalException
        Returns the website that the specific channel belongs to using the specified FlushModeType.
        Parameters:
        channelId - the channel identifier.
        flushModeType - the FlushModeType to be used in query, or null to not set any in query.
        Returns:
        the website the channel belongs to, or null if the channel does not belong to any website.
        Throws:
        PortalObjectNotFoundException - if the channel does not exist.
        PortalException
        Since:
        6.2.0
      • changeChannelWebsite

        public void changeChannelWebsite​(String channelId,
                                         IWebsite newWebsite,
                                         IWebsite oldWebsite,
                                         boolean changeEvenIfIsWebsiteRoot)
                                  throws PortalException
        Performs the necessary changes in the given channel by letting use the old Website and use the new Website.
        Parameters:
        channelId - the channel identifier.
        newWebsite - the new website the channel belongs to.
        oldWebsite - the old website the channel belonged to.
        changeEvenIfIsWebsiteRoot - indicates whether the changes should be performed even if the given channel is a website root.
        Throws:
        PortalException
        Since:
        6.2.0
      • moveServiceInstanceFiles

        public void moveServiceInstanceFiles​(String serviceInstanceId,
                                             IWebsite newWebsite,
                                             IWebsite oldWebsite,
                                             ITransaction transaction)
                                      throws PortalException
        Moves the service instance files from the old website to the new one.
        Parameters:
        serviceInstanceId - the service instance identifier.
        newWebsite - the new website.
        oldWebsite - the old website.
        transaction - the transaction.
        Throws:
        PortalException
        Since:
        6.2.0
      • isWebsiteRoot

        public boolean isWebsiteRoot​(String channelId)
                              throws PortalException
        Returns whether the given channel is a website root.
        Parameters:
        channelId - the channel identifier.
        Returns:
        whether the given channel is a website root.
        Throws:
        PortalException
        Since:
        6.2.0
      • getWebsiteBaseURL

        public IWebsiteBaseURL getWebsiteBaseURL​(URI uri)
                                          throws PortalException
        Description copied from interface: IWebsiteManager
        Returns the website base URL that serves the given URI or null if there's no base URL that serves the given URI.
        If the given URI is not absolute or is opaque, null will be returned.
        This method will not fallback to default website if no website can relativize the given URI.
        Specified by:
        getWebsiteBaseURL in interface IWebsiteManager
        Parameters:
        uri - the URI.
        Returns:
        the website base URL that serves the given URI or null if there's no base URL that serves the given URI.
        Throws:
        PortalException
      • getWebsiteBaseURLAsURI

        public URI getWebsiteBaseURLAsURI​(URI uri)
                                   throws PortalException
        Description copied from interface: IWebsiteManager
        Returns the website base URL as a URI that serves the given URI or null if there's no base URL that serves the given URI.
        If the given URI is not absolute or is opaque, null will be returned.
        This method will not fallback to default website if no website can relativize the given URI.
        Specified by:
        getWebsiteBaseURLAsURI in interface IWebsiteManager
        Parameters:
        uri - the URI.
        Returns:
        the website base URL as URI that serves the given URI or null if there's no base URL that serves the given URI.
        Throws:
        PortalException