Package lumis.portal.page.link
Class PageLinkManager
- java.lang.Object
-
- lumis.portal.page.link.PageLinkManager
-
- All Implemented Interfaces:
IPageLinkManager
,IPageLinkManagerSPI
public class PageLinkManager extends java.lang.Object implements IPageLinkManagerSPI
Page Link Manager.- Since:
- 5.0.0
- Version:
- $Revision$ $Date$
-
-
Constructor Summary
Constructors Constructor Description PageLinkManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.String
add(SessionConfig sessionConfig, PageLinkConfig pageLinkConfig, ITransaction transaction)
Add a page link.void
delete(SessionConfig sessionConfig, java.lang.String pageLinkId, ITransaction transaction)
Delete a page link.PageLinkConfig
get(SessionConfig sessionConfig, java.lang.String pageLinkId, ITransaction transaction)
Get the page link configuraton.java.util.Collection<java.lang.String>
getByPageId(SessionConfig sessionConfig, java.lang.String pageId, ITransaction transaction)
Get the page link ids associated to a pagePageLinkConfig
getByTypeAndWebsite(SessionConfig sessionConfig, int type, java.lang.String website, PortalRequestContext requestContext, ITransaction transaction)
Deprecated.PageLinkConfig
getByTypeAndWebsite(SessionConfig sessionConfig, int type, java.lang.String website, ITransaction transaction)
Deprecated.java.util.List<PageLinkConfig>
getByTypeAndWebsiteIdentifier(SessionConfig sessionConfig, int type, java.lang.String websiteId, ITransaction transaction)
Returns the list ofpage links
with the given type and website identifier.PageLinkConfig
getByTypeWebsiteAndChannelId(SessionConfig sessionConfig, int type, java.lang.String website, java.lang.String requestedChannelId, PortalRequestContext requestContext, ITransaction transaction)
Deprecated.PageLinkConfig
getByTypeWebsiteAndChannelId(SessionConfig sessionConfig, int type, java.lang.String website, java.lang.String requestedChannelId, ITransaction transaction)
Deprecated.PageLinkConfig
getDefaultErrorPage(SessionConfig sessionConfig, IWebsiteBaseURL websiteBaseURL, java.lang.String channelId, PortalRequestContext requestContext, ITransaction transaction)
Returns the most appropriate error page, based on the given website base URL.PageLinkConfig
getDefaultHomePage(SessionConfig sessionConfig, IWebsiteBaseURL websiteBaseURL, PortalRequestContext requestContext, ITransaction transaction)
Returns the most appropriate home page is identified based on the website, priority and Context Rules.PageLinkConfig
getDefaultHomePage(SessionConfig sessionConfig, IWebsiteBaseURL websiteBaseURL, ITransaction transaction)
Returns the most appropriate home page, based on the given website base URL.PageLinkConfig
getDefaultLoginPage(SessionConfig sessionConfig, IWebsiteBaseURL websiteBaseURL, java.lang.String channelId, PortalRequestContext requestContext, ITransaction transaction)
Returns the most appropriate login page is identified based on the website, priority, Context Rules and destination channel identifier.PageLinkConfig
getDefaultLoginPage(SessionConfig sessionConfig, IWebsiteBaseURL websiteBaseURL, java.lang.String channelId, ITransaction transaction)
Returns the most appropriate login page, based on the given website base URL and destination channel identifier.void
update(SessionConfig sessionConfig, PageLinkConfig pageLinkConfig, ITransaction transaction)
Update the page link.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface lumis.portal.page.link.IPageLinkManagerSPI
getDefaultErrorPage
-
-
-
-
Method Detail
-
add
public java.lang.String add(SessionConfig sessionConfig, PageLinkConfig pageLinkConfig, ITransaction transaction) throws ManagerException, PortalException
Description copied from interface:IPageLinkManager
Add a page link.- Specified by:
add
in interfaceIPageLinkManager
- Parameters:
sessionConfig
- the session identifier of the current user.pageLinkConfig
- the page link configuration.transaction
- the current transaction.- Returns:
- the ID of the Page Link.
- Throws:
ManagerException
- if any error occurs during the persisting process.PortalException
- if any other error occurs during the process.
-
get
public PageLinkConfig get(SessionConfig sessionConfig, java.lang.String pageLinkId, ITransaction transaction) throws ManagerException, PortalException
Description copied from interface:IPageLinkManager
Get the page link configuraton.- Specified by:
get
in interfaceIPageLinkManager
- Parameters:
sessionConfig
- the session identifier of the current user.pageLinkId
- id of the page link target.transaction
- the current transaction.- Returns:
- a PageLinkConfig.
- Throws:
ManagerException
- if any error occurs during the persisting process.PortalException
- if any other error occurs during the process.
-
getByPageId
public java.util.Collection<java.lang.String> getByPageId(SessionConfig sessionConfig, java.lang.String pageId, ITransaction transaction) throws ManagerException, PortalException
Description copied from interface:IPageLinkManager
Get the page link ids associated to a page- Specified by:
getByPageId
in interfaceIPageLinkManager
- Parameters:
sessionConfig
- the session identifier of the current user.pageId
- id of the page target.transaction
- the current transaction.- Returns:
- a list of page link ids associated to a page.
- Throws:
ManagerException
- if any error occurs during the persisting process.PortalException
- if any other error occurs during the process.
-
getByTypeAndWebsite
@Deprecated public PageLinkConfig getByTypeAndWebsite(SessionConfig sessionConfig, int type, java.lang.String website, ITransaction transaction) throws ManagerException, PortalException
Deprecated.Description copied from interface:IPageLinkManager
This method calls theIPageLinkManager.getByTypeWebsiteAndChannelId(SessionConfig, int, String, String, ITransaction)
method with null as the destination channelId.- Specified by:
getByTypeAndWebsite
in interfaceIPageLinkManager
- Parameters:
sessionConfig
- the session identifier of the current user.type
- the page link type.website
- the website base URL that the user is accessing.transaction
- the current transaction.- Returns:
- a PageLinkConfig. The calculated (
PageLinkConfig
- Throws:
ManagerException
- if any error occurs during the persisting process.PortalException
- if any other error occurs during the process.
-
getByTypeAndWebsite
@Deprecated public PageLinkConfig getByTypeAndWebsite(SessionConfig sessionConfig, int type, java.lang.String website, PortalRequestContext requestContext, ITransaction transaction) throws ManagerException, PortalException
Deprecated.Description copied from interface:IPageLinkManagerSPI
This method calls theIPageLinkManager.getByTypeWebsiteAndChannelId(SessionConfig, int, String, String, ITransaction)
method with null as the destination channelId.- Specified by:
getByTypeAndWebsite
in interfaceIPageLinkManagerSPI
- Parameters:
sessionConfig
- the session identifier of the current user.type
- the page link type.website
- the website that the user is accessing.requestContext
- the list of all request context.transaction
- the current transaction.- Returns:
- a PageLinkConfig. The calculated (
PageLinkConfig
- Throws:
PortalException
- if any other error occurs during the process.ManagerException
-
getByTypeWebsiteAndChannelId
@Deprecated public PageLinkConfig getByTypeWebsiteAndChannelId(SessionConfig sessionConfig, int type, java.lang.String website, java.lang.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.
- Specified by:
getByTypeWebsiteAndChannelId
in interfaceIPageLinkManager
- 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, java.lang.String website, java.lang.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.
- Specified by:
getByTypeWebsiteAndChannelId
in interfaceIPageLinkManagerSPI
- 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
-
update
public void update(SessionConfig sessionConfig, PageLinkConfig pageLinkConfig, ITransaction transaction) throws ManagerException, PortalException
Description copied from interface:IPageLinkManager
Update the page link.- Specified by:
update
in interfaceIPageLinkManager
- Parameters:
sessionConfig
- the session identifier of the current user.pageLinkConfig
- the page link configuration.transaction
- the current transaction.- Throws:
ManagerException
- if any error occurs during the persisting process.PortalException
- if any other error occurs during the process.
-
delete
public void delete(SessionConfig sessionConfig, java.lang.String pageLinkId, ITransaction transaction) throws ManagerException, PortalException
Description copied from interface:IPageLinkManager
Delete a page link.- Specified by:
delete
in interfaceIPageLinkManager
- Parameters:
sessionConfig
- the session identifier of the current user.pageLinkId
- id of the page link target.transaction
- the current transaction.- Throws:
ManagerException
- if any error occurs during the persisting process.PortalException
- if any other error occurs during the process.
-
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 interfaceIPageLinkManager
- Parameters:
sessionConfig
- the session identifier of the current user.websiteBaseURL
- theIWebsiteBaseURL
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, java.lang.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 interfaceIPageLinkManager
- Parameters:
sessionConfig
- the session identifier of the current user.websiteBaseURL
- theIWebsiteBaseURL
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 interfaceIPageLinkManagerSPI
- Parameters:
sessionConfig
- the session identifier of the current user.websiteBaseURL
- theIWebsiteBaseURL
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, java.lang.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 interfaceIPageLinkManagerSPI
- Parameters:
sessionConfig
- the session identifier of the current user.websiteBaseURL
- theIWebsiteBaseURL
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.
-
getByTypeAndWebsiteIdentifier
public java.util.List<PageLinkConfig> getByTypeAndWebsiteIdentifier(SessionConfig sessionConfig, int type, java.lang.String websiteId, ITransaction transaction) throws PortalException
Description copied from interface:IPageLinkManagerSPI
Returns the list ofpage links
with the given type and website identifier.- Specified by:
getByTypeAndWebsiteIdentifier
in interfaceIPageLinkManagerSPI
- Parameters:
sessionConfig
- the user's session.type
- the type.websiteId
- the website identifier.transaction
- the transaction.- Returns:
- the list of
page links
with the given type and website identifier. - Throws:
PortalException
-
getDefaultErrorPage
public PageLinkConfig getDefaultErrorPage(SessionConfig sessionConfig, IWebsiteBaseURL websiteBaseURL, java.lang.String channelId, 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 interfaceIPageLinkManagerSPI
- Parameters:
sessionConfig
- the session identifier of the current user.websiteBaseURL
- theIWebsiteBaseURL
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.
-
-