com.atlassian.bamboo.ww2
Class BambooFreemarkerManager

java.lang.Object
  extended by org.apache.struts2.views.freemarker.FreemarkerManager
      extended by com.atlassian.bamboo.ww2.BambooFreemarkerManager
All Implemented Interfaces:
TemplateRenderer, org.springframework.beans.factory.Aware, org.springframework.web.context.ServletContextAware

@Internal
public class BambooFreemarkerManager
extends org.apache.struts2.views.freemarker.FreemarkerManager
implements TemplateRenderer, org.springframework.web.context.ServletContextAware

FreemarkerManager that automatically detects the alternative syntax


Field Summary
static String PARAM_BASE_URL
           
static String PARAM_CONTEXT
           
static String PARAM_I18N_BEAN
           
static String PARAM_JIRA_ISSUE_UTILS
           
static String PARAM_STATIC_RESOURCE_PREFIX
           
static String PARAM_WEB_RESOURCE_MANAGER
           
 
Fields inherited from class org.apache.struts2.views.freemarker.FreemarkerManager
altMapWrapper, ATTR_TEMPLATE_MODEL, cacheBeanWrapper, config, CONFIG_SERVLET_CONTEXT_KEY, contentType, debug, DEFAULT_CONTENT_TYPE, encoding, EXPIRATION_DATE, INITPARAM_CONTENT_TYPE, INITPARAM_DEBUG, INITPARAM_NOCACHE, INITPARAM_TEMPLATE_PATH, KEY_APPLICATION, KEY_APPLICATION_PRIVATE, KEY_EXCEPTION, KEY_HASHMODEL_PRIVATE, KEY_INCLUDE, KEY_JSP_TAGLIBS, KEY_REQUEST, KEY_REQUEST_PARAMETERS, KEY_REQUEST_PARAMETERS_STRUTS, KEY_REQUEST_PRIVATE, KEY_SESSION, mruMaxStrongSize, nocache, noCharsetInContentType, tagLibraries, templatePath, templateUpdateDelay, wrapper
 
Constructor Summary
BambooFreemarkerManager()
           
 
Method Summary
 org.apache.struts2.views.freemarker.ScopesHashModel buildTemplateModel(com.opensymphony.xwork2.util.ValueStack stack, Object action, javax.servlet.ServletContext servletContext, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, freemarker.template.ObjectWrapper wrapper)
           
 void clearCaches()
           
protected  freemarker.template.Configuration createConfiguration(javax.servlet.ServletContext servletContext)
           
protected  freemarker.cache.TemplateLoader createTemplateLoader(javax.servlet.ServletContext servletContext, String ignore)
           
 void init(javax.servlet.ServletContext servletContext)
           
 void populateContext(org.apache.struts2.views.freemarker.ScopesHashModel model, com.opensymphony.xwork2.util.ValueStack stack, Object action, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 String render(String templatePath, Map<String,Object> contextParams)
           
 void render(String templatePath, Map<String,Object> contextParams, Writer writer)
          Render the given template to the given writer
 String renderPage(String templatePath, Map<String,Object> params)
          Render the resource found at the path
 String renderText(String text, Map<String,Object> params)
          Render Freemarker markup.
 String renderWithoutActionContext(String templatePath, Map<String,Object> contextParams)
          Renders the resource found at the path.
 void setEncoding(String encoding)
           
 void setHomeLocator(com.atlassian.config.HomeLocator homeLocator)
           
 void setI18nBeanFactory(I18nBeanFactory i18nBeanFactory)
           
 void setOsgiServiceProxyFactory(OsgiServiceProxyFactory osgiServiceProxyFactory)
           
 void setPluginAccessor(com.atlassian.plugin.PluginAccessor pluginAccessor)
           
 void setServletContext(javax.servlet.ServletContext servletContext)
           
 
Methods inherited from class org.apache.struts2.views.freemarker.FreemarkerManager
addSetting, buildScopesHashModel, configureTemplateLoader, createObjectWrapper, getConfig, getConfiguration, getContentType, getDebug, getNocache, getNoCharsetInContentType, getTemplatePath, getWrapper, loadSettings, setCacheBeanWrapper, setContainer, setFileManagerFactory, setMruMaxStrongSize, setTemplateUpdateDelay, setThemeTemplateLoader, setWrapperAltMap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARAM_BASE_URL

public static final String PARAM_BASE_URL
See Also:
Constant Field Values

PARAM_CONTEXT

public static final String PARAM_CONTEXT
See Also:
Constant Field Values

PARAM_I18N_BEAN

public static final String PARAM_I18N_BEAN
See Also:
Constant Field Values

PARAM_JIRA_ISSUE_UTILS

public static final String PARAM_JIRA_ISSUE_UTILS
See Also:
Constant Field Values

PARAM_WEB_RESOURCE_MANAGER

public static final String PARAM_WEB_RESOURCE_MANAGER
See Also:
Constant Field Values

PARAM_STATIC_RESOURCE_PREFIX

public static final String PARAM_STATIC_RESOURCE_PREFIX
See Also:
Constant Field Values
Constructor Detail

BambooFreemarkerManager

public BambooFreemarkerManager()
Method Detail

init

public void init(javax.servlet.ServletContext servletContext)
          throws freemarker.template.TemplateException
Overrides:
init in class org.apache.struts2.views.freemarker.FreemarkerManager
Throws:
freemarker.template.TemplateException

setEncoding

public void setEncoding(String encoding)
Overrides:
setEncoding in class org.apache.struts2.views.freemarker.FreemarkerManager

createConfiguration

protected freemarker.template.Configuration createConfiguration(javax.servlet.ServletContext servletContext)
                                                         throws freemarker.template.TemplateException
Overrides:
createConfiguration in class org.apache.struts2.views.freemarker.FreemarkerManager
Throws:
freemarker.template.TemplateException

createTemplateLoader

protected freemarker.cache.TemplateLoader createTemplateLoader(javax.servlet.ServletContext servletContext,
                                                               String ignore)
Overrides:
createTemplateLoader in class org.apache.struts2.views.freemarker.FreemarkerManager

populateContext

public void populateContext(org.apache.struts2.views.freemarker.ScopesHashModel model,
                            com.opensymphony.xwork2.util.ValueStack stack,
                            Object action,
                            javax.servlet.http.HttpServletRequest request,
                            javax.servlet.http.HttpServletResponse response)
Overrides:
populateContext in class org.apache.struts2.views.freemarker.FreemarkerManager

render

@Nullable
public String render(@Nullable
                              String templatePath,
                              @Nullable
                              Map<String,Object> contextParams)
Specified by:
render in interface TemplateRenderer

renderPage

@NotNull
public String renderPage(@NotNull
                                 String templatePath,
                                 Map<String,Object> params)
Render the resource found at the path

Parameters:
templatePath - must not be null
params - params to pass to the Freemarker context. May be null
Returns:
the rendered result of the page

renderWithoutActionContext

@NotNull
public String renderWithoutActionContext(@Nullable
                                                 String templatePath,
                                                 @NotNull
                                                 Map<String,Object> contextParams)
Renders the resource found at the path. Does not access variables found in webwork action context.

Specified by:
renderWithoutActionContext in interface TemplateRenderer
Parameters:
templatePath - must not be null
contextParams - params to pass to the Freemarker context. May be null
Returns:
the rendered result of the page

render

public void render(String templatePath,
                   @Nullable
                   Map<String,Object> contextParams,
                   @NotNull
                   Writer writer)
            throws IOException
Render the given template to the given writer

Specified by:
render in interface TemplateRenderer
Parameters:
templatePath - The path of the template
contextParams - The template context params
writer - The writer to write to
Throws:
IOException - If an error occured while writing to the writer

renderText

@NotNull
public String renderText(@NotNull
                                 String text,
                                 Map<String,Object> params)
Render Freemarker markup. In order to correctly handle @ww.action tags which would write to the writer obtained from HttpServletResponse it is required to setup a wrapper to the response object and provide own writer there.

Specified by:
renderText in interface TemplateRenderer
Parameters:
text - String containing Freemarker markup
params -
Returns:
Rendered Freemarker template

clearCaches

public void clearCaches()

setHomeLocator

public void setHomeLocator(@Nullable
                           com.atlassian.config.HomeLocator homeLocator)

setPluginAccessor

public void setPluginAccessor(@Nullable
                              com.atlassian.plugin.PluginAccessor pluginAccessor)

setI18nBeanFactory

public void setI18nBeanFactory(@Nullable
                               I18nBeanFactory i18nBeanFactory)

setServletContext

public void setServletContext(javax.servlet.ServletContext servletContext)
Specified by:
setServletContext in interface org.springframework.web.context.ServletContextAware

setOsgiServiceProxyFactory

public void setOsgiServiceProxyFactory(OsgiServiceProxyFactory osgiServiceProxyFactory)

buildTemplateModel

public org.apache.struts2.views.freemarker.ScopesHashModel buildTemplateModel(com.opensymphony.xwork2.util.ValueStack stack,
                                                                              @Nullable
                                                                              Object action,
                                                                              javax.servlet.ServletContext servletContext,
                                                                              javax.servlet.http.HttpServletRequest request,
                                                                              javax.servlet.http.HttpServletResponse response,
                                                                              freemarker.template.ObjectWrapper wrapper)
Overrides:
buildTemplateModel in class org.apache.struts2.views.freemarker.FreemarkerManager


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.