org.hippoecm.hst.mock.core.request
Class MockHstRequestContext

java.lang.Object
  extended by org.hippoecm.hst.mock.core.request.MockHstRequestContext
All Implemented Interfaces:
HstRequestContext

public class MockHstRequestContext
extends Object
implements HstRequestContext


Field Summary
protected  boolean fullyQualifiedURLs
           
protected  String renderHost
           
 
Constructor Summary
MockHstRequestContext()
           
 
Method Summary
 void addMount(String alias, Mount mount)
           
 void addMount(String type, String alias, Mount mount)
           
 Object getAttribute(String name)
          Retrieve the attribute value by the attribute name.
 Enumeration<String> getAttributeNames()
          Enumerates the attribute names
 Map<String,Object> getAttributes()
          Returns attribute map which is unmodifiable.
 HstContainerURL getBaseURL()
          Returns the base container URL (HstContainerURL ) of the current request lifecycle.
 Set<String> getComponentFilterTags()
           The tags that will be used to render container items.
 ContainerConfiguration getContainerConfiguration()
          Returns the container configuration
 HstContainerURLProvider getContainerURLProvider()
          Returns the HstContainerURLProvider to create HstContainerURLs
 ContextCredentialsProvider getContextCredentialsProvider()
          Returns the context credentials provider
 String getContextNamespace()
          Returns the context namespace.
 javax.jcr.Credentials getDefaultCredentials()
           
 String getEmbeddingContextPath()
          Returns the contextPath of the embedding application for an embedded request, otherwise null
 HstLinkCreator getHstLinkCreator()
          Returns the HstLinkCreator to create navigational links
 HstQueryManagerFactory getHstQueryManagerFactory()
          Returns a HstQueryManagerFactory instance responsible for creating a query manager
 HstSiteMenus getHstSiteMenus()
           
 Enumeration<Locale> getLocales()
          Returns an Enumeration of Locale objects
 Mount getMount(String alias)
           a mount with Mount.getAlias() equal to alias and at least one common type with the mount from the current request.
 Mount getMount(String type, String alias)
           a mount with Mount.getAlias() equal to alias and one of its Mount.getTypes() equal to type.
 HstParameterInfoProxyFactory getParameterInfoProxyFactory()
          Expert: Returns HstParameterInfoProxyFactory to create a proxy for an interface that is referred to by a ParametersInfo annotation on a HstComponent annotated interface getters
 String getPathSuffix()
          Returns the path suffix from the resolved site map item.
 Locale getPreferredLocale()
          Gets the preferred locale associated with this request.
 String getRenderHost()
           
 ResolvedMount getResolvedEmbeddingMount()
          Returns the ResolvedMount to be used for link rewriting when this request is embedded, otherwise null
 ResolvedMount getResolvedMount()
          Returns the ResolvedMount for this request
 ResolvedSiteMapItem getResolvedSiteMapItem()
          Returns the ResolvedSiteMapItem for this request
 javax.servlet.ServletContext getServletContext()
          Returns the ServletContext for this request
 javax.servlet.http.HttpServletRequest getServletRequest()
          Returns the current HttpServletRequest
 javax.servlet.http.HttpServletResponse getServletResponse()
          Returns the current HttpServletResponse
 javax.jcr.Session getSession()
          Returns a session which is normally retrieved from a session pooling repository.
 javax.jcr.Session getSession(boolean create)
          Returns a session which can be retrieved from a session pooling repository.
 HstSiteMapMatcher getSiteMapMatcher()
          Returns the HstSiteMapMatcher to be able to match a path to a sitemap item
 Subject getSubject()
          Gets the subject associated with the authorized entity.
 String getTargetComponentPath()
          Returns a target component path relative to HstComponentConfiguration of the {@link #getResolvedSiteMapItem().
 HstURLFactory getURLFactory()
          Returns the HstURLFactory to create HstURLs
 VirtualHost getVirtualHost()
          Returns the matched virtual host object
 boolean isCmsRequest()
           
 boolean isEmbeddedRequest()
          Returns true if this request is embedded and link rewriting needs to use the HstRequestContext.getResolvedEmbeddingMount() for the target Mount path and context path (if to be included).
 boolean isFullyQualifiedURLs()
           
 boolean isPortletContext()
          Returns true if invoked from a Portlet.
 boolean isPreview()
           
 void removeAttribute(String name)
          Removes the attribute by the attribute name.
 void removeMount(String alias)
           
 void removeMount(String type, String alias)
           
 void setAttribute(String name, Object value)
          Set an attribute to be shared among each HstComponent windows.
 void setBaseURL(HstContainerURL baseURL)
           
 void setComponentFilterTags(Set<String> componentFilterTags)
           
 void setContainerConfiguration(ContainerConfiguration containerConfiguration)
           
 void setContextCredentialsProvider(ContextCredentialsProvider contextCredentialsProvider)
           
 void setContextNamespace(String contextNamespace)
           
 void setDefaultCredentials(javax.jcr.Credentials defaultCredentials)
           
 void setEmbeddedRequest(boolean embeddedRequest)
           
 void setEmbeddingContextPath(String embeddingContextPath)
           
 void setHstLinkCreator(HstLinkCreator linkCreator)
           
 void setHstQueryManagerFactory(HstQueryManagerFactory hstQueryManagerFactory)
           
 void setHstSiteMenus(HstSiteMenus siteMenus)
           
 void setLocales(List<Locale> locales)
           
 void setPathSuffix(String pathSuffix)
           
 void setPortletContext(boolean portletRequest)
           
 void setPreferredLocale(Locale preferredLocale)
           
 void setResolvedEmbeddingMount(ResolvedMount resolvedEmbeddingMount)
           
 void setResolvedMount(ResolvedMount resolvedMount)
           
 void setResolvedSiteMapItem(ResolvedSiteMapItem resolvedSiteMapItem)
           
 void setServletContext(javax.servlet.ServletContext servletContext)
           
 void setServletRequest(javax.servlet.http.HttpServletRequest servletRequest)
           
 void setServletResponse(javax.servlet.http.HttpServletResponse servletResponse)
           
 void setSession(javax.jcr.Session session)
           
 void setSiteMapMatcher(HstSiteMapMatcher siteMapMatcher)
           
 void setSubject(Subject subject)
           
 void setTargetComponentPath(String targetComponentPath)
           
 void setURLFactory(HstURLFactory urlFactory)
           
 void setVirtualHost(VirtualHost virtualHost)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fullyQualifiedURLs

protected boolean fullyQualifiedURLs

renderHost

protected String renderHost
Constructor Detail

MockHstRequestContext

public MockHstRequestContext()
Method Detail

isPreview

public boolean isPreview()
Specified by:
isPreview in interface HstRequestContext
Returns:
true when this request is matched to a preview site
See Also:
Mount.isPreview()

getServletContext

public javax.servlet.ServletContext getServletContext()
Description copied from interface: HstRequestContext
Returns the ServletContext for this request

Specified by:
getServletContext in interface HstRequestContext
Returns:
the ServletContext for this request

setServletContext

public void setServletContext(javax.servlet.ServletContext servletContext)

getServletRequest

public javax.servlet.http.HttpServletRequest getServletRequest()
Description copied from interface: HstRequestContext
Returns the current HttpServletRequest

Specified by:
getServletRequest in interface HstRequestContext
Returns:
the current HttpServletRequest

setServletRequest

public void setServletRequest(javax.servlet.http.HttpServletRequest servletRequest)

getServletResponse

public javax.servlet.http.HttpServletResponse getServletResponse()
Description copied from interface: HstRequestContext
Returns the current HttpServletResponse

Specified by:
getServletResponse in interface HstRequestContext
Returns:
the current HttpServletResponse

setServletResponse

public void setServletResponse(javax.servlet.http.HttpServletResponse servletResponse)

getAttribute

public Object getAttribute(String name)
Description copied from interface: HstRequestContext
Retrieve the attribute value by the attribute name. Because this attribute is not prefixed by the reference namespace of the HstComponent window, this method can be used if the attribute is to be shared among HstComponent windows.

Specified by:
getAttribute in interface HstRequestContext

getAttributeNames

public Enumeration<String> getAttributeNames()
Description copied from interface: HstRequestContext
Enumerates the attribute names

Specified by:
getAttributeNames in interface HstRequestContext

getAttributes

public Map<String,Object> getAttributes()
Description copied from interface: HstRequestContext
Returns attribute map which is unmodifiable. So, do not try to put or remove items directly from the returned map.

Specified by:
getAttributes in interface HstRequestContext
Returns:

getBaseURL

public HstContainerURL getBaseURL()
Description copied from interface: HstRequestContext
Returns the base container URL (HstContainerURL ) of the current request lifecycle.

Specified by:
getBaseURL in interface HstRequestContext
Returns:
HstContainerURL

setBaseURL

public void setBaseURL(HstContainerURL baseURL)

getContextNamespace

public String getContextNamespace()
Description copied from interface: HstRequestContext
Returns the context namespace. If there are multiple HstContainer based applications, it could be necessary to separate the component window's namespaces. This context namespace can be used for the purpose.

Specified by:
getContextNamespace in interface HstRequestContext
Returns:

setContextNamespace

public void setContextNamespace(String contextNamespace)

getDefaultCredentials

public javax.jcr.Credentials getDefaultCredentials()

setDefaultCredentials

public void setDefaultCredentials(javax.jcr.Credentials defaultCredentials)

getSiteMapMatcher

public HstSiteMapMatcher getSiteMapMatcher()
Description copied from interface: HstRequestContext
Returns the HstSiteMapMatcher to be able to match a path to a sitemap item

Specified by:
getSiteMapMatcher in interface HstRequestContext
Returns:
HstSiteMapMatcher

setSiteMapMatcher

public void setSiteMapMatcher(HstSiteMapMatcher siteMapMatcher)

getHstLinkCreator

public HstLinkCreator getHstLinkCreator()
Description copied from interface: HstRequestContext
Returns the HstLinkCreator to create navigational links

Specified by:
getHstLinkCreator in interface HstRequestContext
Returns:
HstLinkCreator

setHstLinkCreator

public void setHstLinkCreator(HstLinkCreator linkCreator)

getHstQueryManagerFactory

public HstQueryManagerFactory getHstQueryManagerFactory()
Description copied from interface: HstRequestContext
Returns a HstQueryManagerFactory instance responsible for creating a query manager

Specified by:
getHstQueryManagerFactory in interface HstRequestContext
Returns:
HstQueryManagerFactory

setHstQueryManagerFactory

public void setHstQueryManagerFactory(HstQueryManagerFactory hstQueryManagerFactory)

setHstSiteMenus

public void setHstSiteMenus(HstSiteMenus siteMenus)

getHstSiteMenus

public HstSiteMenus getHstSiteMenus()
Specified by:
getHstSiteMenus in interface HstRequestContext
Returns:
the HstSiteMenus

getResolvedMount

public ResolvedMount getResolvedMount()
Description copied from interface: HstRequestContext
Returns the ResolvedMount for this request

Specified by:
getResolvedMount in interface HstRequestContext
Returns:
the ResolvedMount for this request

setResolvedMount

public void setResolvedMount(ResolvedMount resolvedMount)

getResolvedSiteMapItem

public ResolvedSiteMapItem getResolvedSiteMapItem()
Description copied from interface: HstRequestContext
Returns the ResolvedSiteMapItem for this request

Specified by:
getResolvedSiteMapItem in interface HstRequestContext
Returns:
the resolvedSiteMapItem for this request

setResolvedSiteMapItem

public void setResolvedSiteMapItem(ResolvedSiteMapItem resolvedSiteMapItem)

setSession

public void setSession(javax.jcr.Session session)

getSession

public javax.jcr.Session getSession()
                             throws javax.jcr.LoginException,
                                    javax.jcr.RepositoryException
Description copied from interface: HstRequestContext
Returns a session which is normally retrieved from a session pooling repository.

Returns the current javax.jcr.Session associated with this requestContext or, if if there is no current JCR session, creates and returns a new JCR session.

Specified by:
getSession in interface HstRequestContext
Returns:
a session, which is normally retrieved from a session pooling repository
Throws:
javax.jcr.LoginException
javax.jcr.RepositoryException

getSession

public javax.jcr.Session getSession(boolean create)
                             throws javax.jcr.LoginException,
                                    javax.jcr.RepositoryException
Description copied from interface: HstRequestContext
Returns a session which can be retrieved from a session pooling repository.

Returns the current javax.jcr.Session associated with this requestContext or, if if there is no current JCR session and create is true, returns a new JCR session.

If create is false and the requestContext has no javax.jcr.Session, this method returns null.

Specified by:
getSession in interface HstRequestContext
Returns:
a session, which is normally retrieved from a session pooling repository
Throws:
javax.jcr.LoginException
javax.jcr.RepositoryException

getURLFactory

public HstURLFactory getURLFactory()
Description copied from interface: HstRequestContext
Returns the HstURLFactory to create HstURLs

Specified by:
getURLFactory in interface HstRequestContext
Returns:
HstURLFactory

setURLFactory

public void setURLFactory(HstURLFactory urlFactory)

getParameterInfoProxyFactory

public HstParameterInfoProxyFactory getParameterInfoProxyFactory()
Description copied from interface: HstRequestContext
Expert: Returns HstParameterInfoProxyFactory to create a proxy for an interface that is referred to by a ParametersInfo annotation on a HstComponent annotated interface getters

Specified by:
getParameterInfoProxyFactory in interface HstRequestContext
Returns:
the HstParameterInfoProxyFactory

getContainerURLProvider

public HstContainerURLProvider getContainerURLProvider()
Description copied from interface: HstRequestContext
Returns the HstContainerURLProvider to create HstContainerURLs

Specified by:
getContainerURLProvider in interface HstRequestContext
Returns:
HstContainerURLProvider

removeAttribute

public void removeAttribute(String name)
Description copied from interface: HstRequestContext
Removes the attribute by the attribute name.

Specified by:
removeAttribute in interface HstRequestContext

setAttribute

public void setAttribute(String name,
                         Object value)
Description copied from interface: HstRequestContext
Set an attribute to be shared among each HstComponent windows. Because this attribute is not prefixed by the reference namespace of the HstComponent window, this method can be used if the attribute is to be shared among HstComponent windows.

Specified by:
setAttribute in interface HstRequestContext
Parameters:
name - attribute name
value - attribute value

getContainerConfiguration

public ContainerConfiguration getContainerConfiguration()
Description copied from interface: HstRequestContext
Returns the container configuration

Specified by:
getContainerConfiguration in interface HstRequestContext
Returns:

setContainerConfiguration

public void setContainerConfiguration(ContainerConfiguration containerConfiguration)

getVirtualHost

public VirtualHost getVirtualHost()
Description copied from interface: HstRequestContext
Returns the matched virtual host object

Specified by:
getVirtualHost in interface HstRequestContext
Returns:

setVirtualHost

public void setVirtualHost(VirtualHost virtualHost)

isEmbeddedRequest

public boolean isEmbeddedRequest()
Description copied from interface: HstRequestContext
Returns true if this request is embedded and link rewriting needs to use the HstRequestContext.getResolvedEmbeddingMount() for the target Mount path and context path (if to be included).

Specified by:
isEmbeddedRequest in interface HstRequestContext

setEmbeddedRequest

public void setEmbeddedRequest(boolean embeddedRequest)

isPortletContext

public boolean isPortletContext()
Description copied from interface: HstRequestContext
Returns true if invoked from a Portlet. If true, this instance will also implement HstPortletRequestContext.

Specified by:
isPortletContext in interface HstRequestContext

setPortletContext

public void setPortletContext(boolean portletRequest)

getContextCredentialsProvider

public ContextCredentialsProvider getContextCredentialsProvider()
Description copied from interface: HstRequestContext
Returns the context credentials provider

Specified by:
getContextCredentialsProvider in interface HstRequestContext
Returns:

setContextCredentialsProvider

public void setContextCredentialsProvider(ContextCredentialsProvider contextCredentialsProvider)

getEmbeddingContextPath

public String getEmbeddingContextPath()
Description copied from interface: HstRequestContext
Returns the contextPath of the embedding application for an embedded request, otherwise null

Specified by:
getEmbeddingContextPath in interface HstRequestContext
See Also:
HstRequestContext.isEmbeddedRequest()

setEmbeddingContextPath

public void setEmbeddingContextPath(String embeddingContextPath)

getResolvedEmbeddingMount

public ResolvedMount getResolvedEmbeddingMount()
Description copied from interface: HstRequestContext
Returns the ResolvedMount to be used for link rewriting when this request is embedded, otherwise null

Specified by:
getResolvedEmbeddingMount in interface HstRequestContext
See Also:
HstRequestContext.isEmbeddedRequest()

setResolvedEmbeddingMount

public void setResolvedEmbeddingMount(ResolvedMount resolvedEmbeddingMount)

getTargetComponentPath

public String getTargetComponentPath()
Description copied from interface: HstRequestContext
Returns a target component path relative to HstComponentConfiguration of the {@link #getResolvedSiteMapItem(). If not null the targeted sub component configuration will be used as root component for this request instead.

Specified by:
getTargetComponentPath in interface HstRequestContext

setTargetComponentPath

public void setTargetComponentPath(String targetComponentPath)

getSubject

public Subject getSubject()
Description copied from interface: HstRequestContext
Gets the subject associated with the authorized entity.

Specified by:
getSubject in interface HstRequestContext
Returns:
The JAAS subject on this request.

setSubject

public void setSubject(Subject subject)

getPreferredLocale

public Locale getPreferredLocale()
Description copied from interface: HstRequestContext
Gets the preferred locale associated with this request.

Specified by:
getPreferredLocale in interface HstRequestContext
Returns:
The preferred locale associated with this request.

setPreferredLocale

public void setPreferredLocale(Locale preferredLocale)

getLocales

public Enumeration<Locale> getLocales()
Description copied from interface: HstRequestContext
Returns an Enumeration of Locale objects

Specified by:
getLocales in interface HstRequestContext
Returns:
The locale associated with this request.

setLocales

public void setLocales(List<Locale> locales)

setPathSuffix

public void setPathSuffix(String pathSuffix)

getPathSuffix

public String getPathSuffix()
Description copied from interface: HstRequestContext
Returns the path suffix from the resolved site map item. If it is null, then returns the path suffix from the resolved Mount.

Specified by:
getPathSuffix in interface HstRequestContext
Returns:
the matched path suffix and null if there is no path suffix

getMount

public Mount getMount(String alias)
Description copied from interface: HstRequestContext

a mount with Mount.getAlias() equal to alias and at least one common type with the mount from the current request. Thus, at least one of the types of the found Mount.getTypes() must be equal to one of the types of the mount of the current request.

If there can be found a Mount with the same primary type ( Mount.getType() ) as the one for the mount of the current request, this Mount has precedence. If there is no primary type match, we'll return the mount that has most types in common

There will be looked if the Mount of the current HstRequestContext has a property that is called hst:mountXXX where XXX is equal to alias. If so, there will be tried to return a Mount that has an alias equal to the value of this mappedAlias property hst:mountXXX. If there cannot be found a Mount for via a mapped hst:mountXXX property, there will be looked for a Mount with which has Mount.getAlias() equal to alias. Thus a mapped alias has precedence!

Specified by:
getMount in interface HstRequestContext
Parameters:
alias - the alias the found Mount or XXX in hst:mountXXX property
Returns:
a mount with Mount.getAlias() equal to alias or mappedAlias and at least one common type with the mount from the current request. null if there is no suitable mount.

addMount

public void addMount(String alias,
                     Mount mount)

removeMount

public void removeMount(String alias)

getMount

public Mount getMount(String type,
                      String alias)
Description copied from interface: HstRequestContext

a mount with Mount.getAlias() equal to alias and one of its Mount.getTypes() equal to type.

There will be looked if the Mount of the current HstRequestContext has a property that is called hst:mountXXX where XXX is equal to alias. If so, there will be tried to return a Mount that has an alias equal to the value of this mappedAlias property hst:mountXXX. If there cannot be found a Mount for via a mapped hst:mountXXX property, there will be looked for a Mount with which has Mount.getAlias() equal to alias.

Specified by:
getMount in interface HstRequestContext
Parameters:
type - the alias the found Mount or or XXX in hst:mountXXX property
alias - the type the found Mount should have
Returns:
a mount with Mount.getAlias() equal to alias or mappedAlias and one of its Mount.getTypes() equal to type. null if there is no suitable mount.

addMount

public void addMount(String type,
                     String alias,
                     Mount mount)

removeMount

public void removeMount(String type,
                        String alias)

setComponentFilterTags

public void setComponentFilterTags(Set<String> componentFilterTags)

getComponentFilterTags

public Set<String> getComponentFilterTags()
Description copied from interface: HstRequestContext

The tags that will be used to render container items.

When tags are available, and there is a container item in a container that matches the tag, those container items will be rendered at the exclusion of the other items. If no tags are provided, or none matches any of the tags on the container items, only those container items that do not have a tag will be rendered.

Specified by:
getComponentFilterTags in interface HstRequestContext
Returns:
The (immutable) active set of filter tags, empty when conditional rendering is not used.

isFullyQualifiedURLs

public boolean isFullyQualifiedURLs()
Specified by:
isFullyQualifiedURLs in interface HstRequestContext
Returns:
true when all URLs must be fully qualified, ie, including scheme, domain and portnumber (if present)

getRenderHost

public String getRenderHost()
Specified by:
getRenderHost in interface HstRequestContext
Returns:
the render host to use for rendering the request or null when no specific render host is defined. Typically, there is only a render host when the request originated from the CMS

isCmsRequest

public boolean isCmsRequest()
Specified by:
isCmsRequest in interface HstRequestContext
Returns:
true when the request is from a cms context: This can be some REST call from the cms, or a channel preview request inside the cms or over the HOST of the cms


Copyright © 2008-2012 Hippo. All Rights Reserved.