Class WebsiteManager
- java.lang.Object
-
- lumis.portal.website.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) $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WebsiteManager.UnmodifiableWebsite
UnmodifiableWebsite
implementation.
-
Constructor Summary
Constructors Constructor Description WebsiteManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
changeChannelWebsite(String channelId, IWebsite newWebsite, IWebsite oldWebsite, boolean changeEvenIfIsWebsiteRoot)
void
deletePageWebResources(String pageId)
Deletes the given pageweb resources
.IWebsite
get(String id)
Returns thewebsite
with the given identifier.List<IWebsite>
getAllWebsites()
Returns all websites existent in the portal.IWebsite
getDefaultWebsite()
Returns the website flagged as the default website.IWebsiteBaseURL
getWebsiteBaseURL(URI uri)
Returns the website base URL that serves the given URI ornull
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.IWebsiteBaseURL
getWebsiteBaseURL(HttpServletRequest request)
Returns the website's base URL that a request corresponds to.URI
getWebsiteBaseURLAsURI(URI uri)
Returns the website base URL as a URI that serves the given URI ornull
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.IWebsite
getWebsiteByChannelId(String channelId)
Returns the website that the specific channel belongs to.IWebsite
getWebsiteByChannelId(String channelId, FlushModeType flushModeType)
Returns the website that the specific channel belongs to using the specifiedFlushModeType
.IWebsite
getWebsiteByChannelIdNonRecursively(String channelId, FlushModeType flushModeType)
Returns the channel'sWebsite
non-recursively (i.e.boolean
isWebsiteRoot(String channelId)
Returns whether the given channel is a website root.void
moveServiceInstanceFiles(String serviceInstanceId, IWebsite newWebsite, IWebsite oldWebsite, ITransaction transaction)
Moves the service instance files from the old website to the new one.void
setDefaultWebsite(IWebsite website)
Sets which website is the default website.
-
-
-
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
-
getDefaultWebsite
public IWebsite getDefaultWebsite() throws PortalException
Description copied from interface:IWebsiteManagerSPI
Returns the website flagged as the default website.- Specified by:
getDefaultWebsite
in interfaceIWebsiteManagerSPI
- Returns:
- the default website, or
null
if there is no website set as the default. - Throws:
PortalException
- See Also:
IWebsite.isDefaultWebsite()
,IWebsiteManagerSPI.setDefaultWebsite(IWebsite)
-
setDefaultWebsite
public void setDefaultWebsite(IWebsite website) throws PortalException
Description copied from interface:IWebsiteManagerSPI
Sets which website is the default website.If there is any website currently flagged as the default website, it will no longer be the default website. The given website (if any) will be set as the default website.
- Specified by:
setDefaultWebsite
in interfaceIWebsiteManagerSPI
- Parameters:
website
- the website to be the default, ornull
for no website to be the default.- Throws:
AccessDeniedException
- if the user does not have permission to change the default website.PortalException
- See Also:
IWebsite.isDefaultWebsite()
,IWebsiteManagerSPI.getDefaultWebsite()
-
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 interfaceIWebsiteManagerSPI
- 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 interfaceIWebsiteManager
- Parameters:
request
- the request.- Returns:
- the website base URL, or
null
if no website base URL corresponds to the request. - Throws:
PortalException
-
get
public IWebsite get(String id) throws PortalException
Returns thewebsite
with the given identifier.- Parameters:
id
- the website identifier.- Returns:
- the
website
with the given identifier. - Throws:
PortalException
- Since:
- 6.2.0
-
getWebsiteByChannelIdNonRecursively
public IWebsite getWebsiteByChannelIdNonRecursively(String channelId, FlushModeType flushModeType) throws PortalException
Returns the channel'sWebsite
non-recursively (i.e. doesn't search for a website through the channel's parents).- Parameters:
channelId
- the channel identifier.flushModeType
- theFlushModeType
to be used in query, ornull
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 specifiedFlushModeType
.- Parameters:
channelId
- the channel identifier.flushModeType
- theFlushModeType
to be used in query, ornull
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 oldWebsite
and use the newWebsite
.- 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
-
deletePageWebResources
public void deletePageWebResources(String pageId) throws PortalException
Deletes the given pageweb resources
.- Parameters:
pageId
- the page identifier.- 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 ornull
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 interfaceIWebsiteManager
- 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 ornull
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 interfaceIWebsiteManager
- 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
-
-