|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.jalios.jcms.portlet.PortalManager
public final class PortalManager
Manager for Portals that handle used classses, their associated images and manage lots of general features around PortalElement. The features are delegate to the portal element.
Nested Class Summary | |
---|---|
static class |
PortalManager.CatDiscrimComparator
This inner class compare two categories. |
static class |
PortalManager.DisplayContextParameters
A structure to handle method parameters |
Field Summary | |
---|---|
static String |
CSS_INNER
|
static String |
CSS_OUTER
|
static String |
HIGHLIGHT_DEFAULT_MODE
|
static String |
HIGHLIGHT_ENABLED
|
static String |
HIGHLIGHT_MODE
|
static String |
HIGHLIGHT_TEXT
|
static String |
PORTAL_ACTION
|
static String |
PORTAL_ACTION_CACHE
|
static String |
PORTAL_ACTION_CUT
|
static String |
PORTAL_ACTION_MODE
|
static String |
PORTAL_ACTION_PAST
|
static org.apache.oro.text.regex.Pattern |
PORTAL_ACTION_REGEXP
|
static String |
PORTAL_ACTION_REMOVE
|
static String |
PORTAL_AJAX_URI
|
static String |
PORTAL_CLIPBOARD
|
static String |
PORTAL_CONTEXTE_INCLUDE
|
static String |
PORTAL_CSS_DIRECTORY
|
static String |
PORTAL_CTXCATEGORIES
|
static String |
PORTAL_CURRENTCATEGORY
|
static String |
PORTAL_MODE_ENABLE
|
static String |
PORTAL_PORTAL
|
static String |
PORTAL_PORTALCATEGORY
|
static String |
PORTAL_PORTALELEMENT
|
static String |
PORTAL_PORTLET_FAKE
|
static String |
PORTAL_PUBLICATION
|
static String |
PORTAL_TEMPLATEUSAGE
|
static String |
REVISION
|
Constructor Summary | |
---|---|
PortalManager()
|
Method Summary | |
---|---|
static void |
addHighlightAttributes(javax.servlet.http.HttpServletRequest request,
String text,
String mode)
Adds the given text and mode parameters as request attributes, and set the hlOk attribute to true to allow doDisplayHeader.jsp to provide highlight button. |
static boolean |
canWorkOnSome(PortalInterface portal,
Member loggedMember)
|
static boolean |
checkPortal(Category cat,
DisplayContext context,
Member loggedMember,
boolean skipRedirect,
boolean skipExact)
This method looks for a matching Portal for a given Category. |
protected static boolean |
checkPortal(Publication pub,
DisplayContext context,
Member loggedMember,
boolean skipRedirect,
boolean skipExact)
Check the validity of the given Publication to be a convenient Portal. |
protected static boolean |
checkPortal(Publication pub,
DisplayContext context,
Member loggedMember,
boolean skipRedirect,
boolean skipExact,
boolean preview)
Check the validity of the given Publication to be a convenient Portal. |
static void |
clearHighlightAttributes(javax.servlet.http.HttpServletRequest request)
Remove the highlight attributes from the current request to disable highlighting for the rest of the page |
protected static boolean |
containsAction(javax.servlet.http.HttpServletRequest request,
PortalElement portlet)
Looking for an action in the HttpRequest |
static boolean |
disableCache(javax.servlet.http.HttpServletRequest request,
PortalElement portlet,
Member loggedMember)
Return true if the portlet should disable its cache Remove the cache parameter only if its the portlet itself that ask for a refresh (not one of it's parent) |
static boolean |
findPortal(Category cat,
DisplayContext context,
Member loggedMember,
boolean skipRedirect,
boolean skipExact,
boolean recursive)
Recursive methode that try to find the right portal for a given category otherwise may call parent category. |
static boolean |
findPortal(Publication pub,
DisplayContext context,
Member loggedMember,
boolean skipRedirect,
boolean skipExact,
boolean preview,
Category[] ctxCategories)
Fill a display context with all the elements usefull for navigation, using the given steps: 1- Iterate on publication categories starting with sibling of contextual categories 2- Recursive call with parents until finding a Portal 3- Then set the portalCategory and the currentCategory |
static String |
getActionParam(PortalElement portlet,
String action)
Return the parameter for an action of a Portlet |
static String |
getAjaxPortalRedirect(javax.servlet.http.HttpServletRequest request)
Build an URL working with in AjaxContext redirects |
static String |
getAjaxPortalUrl(javax.servlet.http.HttpServletRequest request)
Build an URL working with in AjaxContext redirects |
static String |
getAjaxPortalUrl(PortalElement portlet)
Deprecated. use #getAjaxPortalUrl() |
protected static List |
getAllCategories(Collection categoryCollec)
Return all categories at a given levels |
static String |
getCacheParam(PortalElement portlet)
Return the parameter for a cache of a Portlet |
static File[] |
getCssFiles()
This method return an array of CSS in directory css/portal. |
static Map |
getCSSMap(String skinType,
Class clazz)
|
static Category[] |
getCtxCategories(javax.servlet.http.HttpServletRequest request)
Get all Categories from cid parameters in the request |
static PortalInterface |
getDefaultPortal()
Return the default portal according to the property channel.default-portal Implementation note : since jcms-7.1.2, this default portal can be overrided by any custom PortalPolicyFilter. See BasicPortalPolicyFilter#getDefaultPortal(PortalInterface, Member) . |
static DisplayContext |
getDisplayContext(JcmsContext context)
This is a convenient method to compute display.jsp display context. |
static DisplayContext |
getDisplayContext(String id,
PortalInterface overrided,
Category[] ctxCategories,
Member loggedMember,
boolean preview,
String queryString)
This method compute a display context of parameters for display.jsp. |
static String |
getHightlightParams(javax.servlet.http.HttpServletRequest request)
Build query string parameters from the information currently available in the request attributes. |
static Category |
getHomeCategory()
Return by default the Category associated to property channel.default-index . |
static String |
getInnerClasses(PortalElement portlet)
This method return classes to apply on the given portlet's inside. |
static String |
getInnerStyles(PortalElement portlet)
This method return style to apply on the given portlet's inside. |
static String |
getOutterClasses(PortalElement portlet)
This method return classes to apply on the given portlet's outside. |
static String |
getOutterStyles(PortalElement portlet)
This method return style to apply on the given portlet's outside. |
static String |
getPermalink(Data data)
Deprecated. user getPermalink(Data, Locale) |
static String |
getPermalink(Data data,
Locale locale)
Returns an url representing the permanent link for the given data in the specified language. |
static PortalInterface |
getPrintPortal()
Return the print portal according to the property channel.default-printportal |
static Category[] |
getRootNavigate()
|
static String |
getUrlWithCommonUpdatedParams(javax.servlet.http.HttpServletRequest request,
String[] names,
String[] values,
boolean encodeParams)
|
static String |
getUrlWithUpdateCtxCategories(Category cat,
Category[] ctxArray,
javax.servlet.http.HttpServletRequest request,
boolean ctx)
Return an Url with updated cids |
static String |
getUrlWithUpdateCtxCategories(Category cat,
Category[] ctxArray,
String resourcePath,
Map parameterMap,
boolean ctx)
Return an Url with updated cids |
static void |
handleDisplayRequest(JcmsJspContext context,
DisplayContext display,
long startPageRequest)
Called by display.jsp to set all request attributes from computed display context. |
static boolean |
handleRequest(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Member loggedMember)
Handle Request to check if parameters are Action of Portlets if true then remove them from request and put them to session. |
static boolean |
hasFullDisplay(PortalElement portlet,
Member loggedMember)
Checks if there is a full display anywere inside the specified PortalElement (including the specified portlet itself). |
static boolean |
isBehaviourBackCompatible()
This method will check if the portal mecanic use the new behaviour or the old one. |
static boolean |
isNewBehaviour()
This method will check if the portal mecanic use the new behaviour or the old one. |
static boolean |
isPreview(javax.servlet.http.HttpServletRequest request,
PortalElement portlet)
Return true if the portlet is in preview mode |
static void |
printPortletException(javax.servlet.jsp.JspWriter out,
Throwable ex,
PortalElement portlet,
org.apache.log4j.Logger portletLogger)
|
static void |
printPortletException(javax.servlet.jsp.JspWriter out,
Throwable ex,
String location,
org.apache.log4j.Logger portletLogger)
|
static void |
processActions(javax.servlet.http.HttpServletRequest request,
List portlets,
Member loggedMember,
List actions,
List messages,
List fullParams)
|
static String |
receiveAction(javax.servlet.http.HttpServletRequest request,
PortalElement portlet,
String action)
Return a Message set for this Portlet by sendAction() |
static boolean |
refreshCache(javax.servlet.http.HttpServletRequest request,
PortalElement portlet,
Member loggedMember)
Return true if the portlet should refresh its cache Remove the cache parameter only if its the portlet itself that ask for a refresh (not one of it's parent) |
static String |
removeAction(javax.servlet.http.HttpServletRequest request,
PortalElement portlet,
String action)
Remove an action from the session. |
static String |
sendAction(javax.servlet.http.HttpServletRequest request,
PortalElement portlet,
String action,
String message)
Return a well formated a URL with a paramameter to do an Action for the portlet |
static void |
setPreview(javax.servlet.http.HttpServletRequest request,
PortalElement portlet,
boolean isPreview)
Sets the portlet preview mode |
protected static boolean |
updateFullDisplay(javax.servlet.http.HttpServletRequest request,
PortalElement portlet,
Member loggedMember)
Looking for a FullDisplay Portlet |
static void |
updateProperties()
Init defaultPortal , homeCategory , printPortal and rootNavigate
given following properties :defaultPortal : based on channel.default-portal id property, or "j_193" if property not set.
homeCategory : based on channel.default-index id property, or null if property not set.
printPortal : based on channel.default-printportal id property, or "j_55" if property not set.
rootNavigate : based on display.navigate-root ids property, or null if property not set.
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String REVISION
public static final String PORTAL_ACTION
public static final String PORTAL_ACTION_REMOVE
public static final String PORTAL_ACTION_CACHE
public static final String PORTAL_ACTION_MODE
public static final String PORTAL_PORTLET_FAKE
public static final String PORTAL_CSS_DIRECTORY
public static final String PORTAL_ACTION_CUT
public static final String PORTAL_ACTION_PAST
public static final org.apache.oro.text.regex.Pattern PORTAL_ACTION_REGEXP
public static final String PORTAL_MODE_ENABLE
public static final String PORTAL_CLIPBOARD
public static final String PORTAL_PUBLICATION
public static final String PORTAL_PORTALELEMENT
public static final String PORTAL_PORTAL
public static final String PORTAL_CURRENTCATEGORY
public static final String PORTAL_PORTALCATEGORY
public static final String PORTAL_CTXCATEGORIES
public static final String PORTAL_TEMPLATEUSAGE
public static final String PORTAL_CONTEXTE_INCLUDE
public static final String PORTAL_AJAX_URI
public static final String HIGHLIGHT_ENABLED
public static final String HIGHLIGHT_TEXT
public static final String HIGHLIGHT_MODE
public static final String HIGHLIGHT_DEFAULT_MODE
public static final String CSS_INNER
public static final String CSS_OUTER
Constructor Detail |
---|
public PortalManager()
Method Detail |
---|
public static String getActionParam(PortalElement portlet, String action)
portlet
-
public static String sendAction(javax.servlet.http.HttpServletRequest request, PortalElement portlet, String action, String message)
request
- portlet
- action
- message
-
public static String receiveAction(javax.servlet.http.HttpServletRequest request, PortalElement portlet, String action)
request
- portlet
-
public static String removeAction(javax.servlet.http.HttpServletRequest request, PortalElement portlet, String action)
request
- portlet
- action
- public static void processActions(javax.servlet.http.HttpServletRequest request, List portlets, Member loggedMember, List actions, List messages, List fullParams)
public static String getUrlWithCommonUpdatedParams(javax.servlet.http.HttpServletRequest request, String[] names, String[] values, boolean encodeParams)
request
- the current HttpRequestnames
- an array of parameter names added or updated the urlvalues
- an array of values added or updated the url corresponding to namesencodeParams
- whether to do a encodeURL on given param (if false, don't forget to do the encodeURL yourself on the parameters which need it! it is provided as a performance boost because encodeURL can be slow)
public static boolean handleRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Member loggedMember) throws IOException
request
- response
- loggedMember
-
IOException
public static String getPermalink(Data data)
getPermalink(Data, Locale)
data
- the data to work with
public static String getPermalink(Data data, Locale locale)
data
- the data to work withlocale
- the Locale in which the data is to be access by the permalink
public static String getCacheParam(PortalElement portlet)
portlet
-
public static boolean refreshCache(javax.servlet.http.HttpServletRequest request, PortalElement portlet, Member loggedMember)
request
- portlet
-
public static boolean disableCache(javax.servlet.http.HttpServletRequest request, PortalElement portlet, Member loggedMember)
request
- portlet
-
protected static boolean containsAction(javax.servlet.http.HttpServletRequest request, PortalElement portlet)
request
- portlet
-
protected static boolean updateFullDisplay(javax.servlet.http.HttpServletRequest request, PortalElement portlet, Member loggedMember)
request
- portlet
- loggedMember
-
public static boolean hasFullDisplay(PortalElement portlet, Member loggedMember)
portlet
- the portlet from which to start FullDisplay searchloggedMember
- the current loggedMember
public static boolean isPreview(javax.servlet.http.HttpServletRequest request, PortalElement portlet)
request
- portlet
-
public static void setPreview(javax.servlet.http.HttpServletRequest request, PortalElement portlet, boolean isPreview)
request
- portlet
- isPreview
- (true to set it, false to remove)public static boolean canWorkOnSome(PortalInterface portal, Member loggedMember)
public static PortalInterface getDefaultPortal()
BasicPortalPolicyFilter#getDefaultPortal(PortalInterface, Member)
.
public static PortalInterface getPrintPortal()
public static Category getHomeCategory()
channel.default-index
.
BasicPortalPolicyFilter#getHomeCategory(Category, Member)
.
public static Category[] getRootNavigate()
display.navigate-root
, or null.public static void updateProperties()
defaultPortal
, homeCategory
, printPortal
and rootNavigate
given following properties :defaultPortal
: based on channel.default-portal
id property, or "j_193" if property not set.homeCategory
: based on channel.default-index
id property, or null if property not set.printPortal
: based on channel.default-printportal
id property, or "j_55" if property not set.rootNavigate
: based on display.navigate-root
ids property, or null if property not set.
public static boolean findPortal(Publication pub, DisplayContext context, Member loggedMember, boolean skipRedirect, boolean skipExact, boolean preview, Category[] ctxCategories)
pub
- the publication to displaycontext
- the display to fillloggedMember
- the member, the publication is displayed forskipRedirect
- should we ignore PortalRedirect ?skipExact
- should we ignore exact portal ?preview
- are we in preview mode ?ctxCategories
- the contextual categories to sort the iteration on publication categories
public static boolean findPortal(Category cat, DisplayContext context, Member loggedMember, boolean skipRedirect, boolean skipExact, boolean recursive)
cat
- the category to work withcontext
- the list to fillloggedMember
- the member, the publication is displayed forskipRedirect
- should we ignore PortalRedirect ? Usefull when called by findPortal(Publication).skipExact
- should we ignore portal accepting only exact matchrecursive
- is it a recursive call with parent category ?
public static boolean checkPortal(Category cat, DisplayContext context, Member loggedMember, boolean skipRedirect, boolean skipExact)
This method looks for a matching Portal for a given Category. Then set the portal Category in display context.
Portal with ExactCategory option are priority checked
cat
- The current categorycontext
- display contextloggedMember
- The current memberskipRedirect
- Should skip redirect portalskipExact
- Should skip exact portalprotected static boolean checkPortal(Publication pub, DisplayContext context, Member loggedMember, boolean skipRedirect, boolean skipExact)
protected static boolean checkPortal(Publication pub, DisplayContext context, Member loggedMember, boolean skipRedirect, boolean skipExact, boolean preview)
protected static List getAllCategories(Collection categoryCollec)
public static Category[] getCtxCategories(javax.servlet.http.HttpServletRequest request)
request
- the current request
public static String getUrlWithUpdateCtxCategories(Category cat, Category[] ctxArray, String resourcePath, Map parameterMap, boolean ctx)
cat
- the categoryctxArray
- the contextual category arrayresourcePath
- the request resource pathparameterMap
- the request parameter mapctx
- is sctx category or navigate category
public static String getUrlWithUpdateCtxCategories(Category cat, Category[] ctxArray, javax.servlet.http.HttpServletRequest request, boolean ctx)
cat
- the categoryctxArray
- the contextual category arrayrequest
- the request to call ServletUtilctx
- is sctx category or navigate category
public static DisplayContext getDisplayContext(JcmsContext context)
context
- the JcmsContext
getDisplayContext(String, PortalInterface, Category[], Member, boolean, String)
public static DisplayContext getDisplayContext(String id, PortalInterface overrided, Category[] ctxCategories, Member loggedMember, boolean preview, String queryString)
id
- the request parameter id describing the working dataoverrided
- the overrided portal (request parameter portal)ctxCategories
- the contextual categories (request parameter cid)loggedMember
- the loggedmemberpreview
- boolean indicate if it is a previewqueryString
- the request querystring used by redirect parameters
public static void handleDisplayRequest(JcmsJspContext context, DisplayContext display, long startPageRequest)
context
- a JcmsContext handling page requestdisplay
- a computed display.jsp display contextstartPageRequest
- long indicating start page requestgetDisplayContext(String, PortalInterface, Category[], Member, boolean, String)
public static void addHighlightAttributes(javax.servlet.http.HttpServletRequest request, String text, String mode)
request
- text
- The text to highlightmode
- the mode to use to search the text (same mode used in query, all, any, etc)public static void clearHighlightAttributes(javax.servlet.http.HttpServletRequest request)
public static String getHightlightParams(javax.servlet.http.HttpServletRequest request)
@Deprecated public static String getAjaxPortalUrl(PortalElement portlet)
portlet
- the Portlet to display
public static String getAjaxPortalUrl(javax.servlet.http.HttpServletRequest request)
request
- the HttpServletRequest
public static String getAjaxPortalRedirect(javax.servlet.http.HttpServletRequest request)
request
- the HttpServletRequest
public static boolean isNewBehaviour()
public static boolean isBehaviourBackCompatible()
public static String getOutterStyles(PortalElement portlet)
portlet
- a PortalElement to work with
public static String getInnerStyles(PortalElement portlet)
portlet
- a PortalElement to work with
public static String getOutterClasses(PortalElement portlet)
portlet
- a PortalElement to work with
public static String getInnerClasses(PortalElement portlet)
portlet
- a PortalElement to work with
public static File[] getCssFiles()
public static Map getCSSMap(String skinType, Class clazz)
public static void printPortletException(javax.servlet.jsp.JspWriter out, Throwable ex, PortalElement portlet, org.apache.log4j.Logger portletLogger) throws IOException
IOException
public static void printPortletException(javax.servlet.jsp.JspWriter out, Throwable ex, String location, org.apache.log4j.Logger portletLogger) throws IOException
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |