com.atlassian.jira.util.velocity
Class DefaultVelocityRequestContextFactory

java.lang.Object
  extended by com.atlassian.jira.util.velocity.DefaultVelocityRequestContextFactory
All Implemented Interfaces:
VelocityRequestContextFactory

public class DefaultVelocityRequestContextFactory
extends Object
implements VelocityRequestContextFactory

Return an instance of VelocityRequestContext, depending on whether we are called from a web or non-web context.

The original intention of this class is to get around bugs such as JRA-11038, where velocity fragments are called from both web and non-web contexts. Originally we tried to proxy HttpServletRequest, but it makes more sense to have a specific interface VelocityRequestContext.


Constructor Summary
DefaultVelocityRequestContextFactory()
          Deprecated. Please use DefaultVelocityRequestContextFactory(com.atlassian.jira.config.properties.ApplicationProperties) instead
DefaultVelocityRequestContextFactory(ApplicationProperties applicationProperties)
           
 
Method Summary
static void cacheVelocityRequestContext(javax.servlet.http.HttpServletRequest request)
          Deprecated. Use VelocityRequestContextFactory.setVelocityRequestContext(javax.servlet.http.HttpServletRequest) instead. Since v5.0.
static void cacheVelocityRequestContext(String baseUrl, javax.servlet.http.HttpServletRequest request)
          Deprecated. Use VelocityRequestContextFactory.setVelocityRequestContext(String, javax.servlet.http.HttpServletRequest) instead. Since v5.0.
 void cacheVelocityRequestContext(VelocityRequestContext velocityRequestContext)
          Deprecated. Use VelocityRequestContextFactory.setVelocityRequestContext(VelocityRequestContext) instead. Since v5.0.
 void clearVelocityRequestContext()
          Resets the thread local storage as if no request has occurred, effectively nulling out the current thread local velocity request context.
 Map<String,Object> getDefaultVelocityParams(Map<String,Object> startingParams, JiraAuthenticationContext authenticationContext)
          Constructs a map with a number of common parameters used by velocity templates.
 VelocityRequestContext getJiraVelocityRequestContext()
          Get the request context.
 void setVelocityRequestContext(javax.servlet.http.HttpServletRequest request)
          Update the thread-local storage with the given request information.
 void setVelocityRequestContext(String baseUrl, javax.servlet.http.HttpServletRequest request)
          Update the thread-local storage with the given request information.
 void setVelocityRequestContext(VelocityRequestContext velocityRequestContext)
          Update the thread-local storage with the given velocityRequestContext.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultVelocityRequestContextFactory

public DefaultVelocityRequestContextFactory(ApplicationProperties applicationProperties)

DefaultVelocityRequestContextFactory

public DefaultVelocityRequestContextFactory()
Deprecated. Please use DefaultVelocityRequestContextFactory(com.atlassian.jira.config.properties.ApplicationProperties) instead

Method Detail

getJiraVelocityRequestContext

public VelocityRequestContext getJiraVelocityRequestContext()
Description copied from interface: VelocityRequestContextFactory
Get the request context.

Specified by:
getJiraVelocityRequestContext in interface VelocityRequestContextFactory
Returns:
The request context.

getDefaultVelocityParams

public Map<String,Object> getDefaultVelocityParams(Map<String,Object> startingParams,
                                                   JiraAuthenticationContext authenticationContext)
Description copied from interface: VelocityRequestContextFactory
Constructs a map with a number of common parameters used by velocity templates.

Specified by:
getDefaultVelocityParams in interface VelocityRequestContextFactory
Parameters:
startingParams - Map of parameters that may be used to override any of the parameters set here.
authenticationContext - JiraAuthenticationContext
Returns:
a Map with common velocity parameters

cacheVelocityRequestContext

public static void cacheVelocityRequestContext(javax.servlet.http.HttpServletRequest request)
Deprecated. Use VelocityRequestContextFactory.setVelocityRequestContext(javax.servlet.http.HttpServletRequest) instead. Since v5.0.

Called from a servlet filter. Passes the HttpServletRequest.getContextPath() along as the baseUrl.

Parameters:
request - The HttpServletRequest used to construct the RequestContextParameterHolder

setVelocityRequestContext

public void setVelocityRequestContext(javax.servlet.http.HttpServletRequest request)
Description copied from interface: VelocityRequestContextFactory
Update the thread-local storage with the given request information.

Specified by:
setVelocityRequestContext in interface VelocityRequestContextFactory
Parameters:
request - The http request context to store.

cacheVelocityRequestContext

public static void cacheVelocityRequestContext(String baseUrl,
                                               javax.servlet.http.HttpServletRequest request)
Deprecated. Use VelocityRequestContextFactory.setVelocityRequestContext(String, javax.servlet.http.HttpServletRequest) instead. Since v5.0.

Should be called from a servlet filter before the request gets a chance to run

Parameters:
baseUrl - Should pass in HttpServletRequest.getContextPath()
request - The HttpServletRequest used to construct the RequestContextParameterHolder

setVelocityRequestContext

public void setVelocityRequestContext(String baseUrl,
                                      javax.servlet.http.HttpServletRequest request)
Description copied from interface: VelocityRequestContextFactory
Update the thread-local storage with the given request information.

Specified by:
setVelocityRequestContext in interface VelocityRequestContextFactory
Parameters:
baseUrl - of the request.
request - The http request context to store.

cacheVelocityRequestContext

public void cacheVelocityRequestContext(VelocityRequestContext velocityRequestContext)
Deprecated. Use VelocityRequestContextFactory.setVelocityRequestContext(VelocityRequestContext) instead. Since v5.0.

Description copied from interface: VelocityRequestContextFactory
Update the thread-local storage with the given velocityRequestContext.

Specified by:
cacheVelocityRequestContext in interface VelocityRequestContextFactory
Parameters:
velocityRequestContext - The velocity request context to store.

setVelocityRequestContext

public void setVelocityRequestContext(VelocityRequestContext velocityRequestContext)
Description copied from interface: VelocityRequestContextFactory
Update the thread-local storage with the given velocityRequestContext.

Specified by:
setVelocityRequestContext in interface VelocityRequestContextFactory
Parameters:
velocityRequestContext - The velocity request context to store.

clearVelocityRequestContext

public void clearVelocityRequestContext()
Description copied from interface: VelocityRequestContextFactory
Resets the thread local storage as if no request has occurred, effectively nulling out the current thread local velocity request context.

Specified by:
clearVelocityRequestContext in interface VelocityRequestContextFactory


Copyright © 2002-2014 Atlassian. All Rights Reserved.