Package com.atlassian.bamboo.ww2
Class BambooFreemarkerManager
java.lang.Object
org.apache.struts2.views.freemarker.FreemarkerManager
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
FieldsModifier and TypeFieldDescriptionstatic final freemarker.template.Versionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields 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_JSP_TAGLIBS, KEY_REQUEST, KEY_REQUEST_PARAMETERS_STRUTS, KEY_SESSION, mruMaxStrongSize, nocache, noCharsetInContentType, tagLibraries, templatePath, templateUpdateDelay, wrapper -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.struts2.views.freemarker.ScopesHashModelbuildTemplateModel(org.apache.struts2.util.ValueStack stack, @Nullable Object action, jakarta.servlet.ServletContext servletContext, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, freemarker.template.ObjectWrapper wrapper) voidprotected freemarker.template.ConfigurationcreateConfiguration(jakarta.servlet.ServletContext servletContext) protected freemarker.template.ObjectWrappercreateObjectWrapper(jakarta.servlet.ServletContext servletContext) Temporarily overriding the object wrapperprotected freemarker.cache.TemplateLoadercreateTemplateLoader(jakarta.servlet.ServletContext servletContext, String ignore) protected freemarker.template.VersiongetFreemarkerVersion(jakarta.servlet.ServletContext servletContext) voidinit(jakarta.servlet.ServletContext servletContext) voidpopulateContext(org.apache.struts2.views.freemarker.ScopesHashModel model, org.apache.struts2.util.ValueStack stack, Object action, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) @Nullable StringvoidRender the given template to the given writer@NotNull StringrenderPage(@NotNull String templatePath, Map<String, Object> params) Render the resource found at the path@NotNull StringrenderText(@Nullable String text, Map<String, Object> params) Render Freemarker markup.@NotNull StringrenderTextWithoutActionContext(@NotNull String text, Map<String, Object> params) @NotNull StringrenderWithoutActionContext(@Nullable String templatePath, @NotNull Map<String, Object> contextParams) Renders the resource found at the path.voidsetEncoding(String encoding) voidsetHomeLocator(@Nullable BambooHomeLocator homeLocator) voidsetI18nBeanFactory(@Nullable I18nBeanFactory i18nBeanFactory) voidsetOsgiServiceProxyFactory(OsgiServiceProxyFactory osgiServiceProxyFactory) voidsetPluginAccessor(@Nullable com.atlassian.plugin.PluginAccessor pluginAccessor) voidsetServletContext(jakarta.servlet.ServletContext servletContext) Methods inherited from class org.apache.struts2.views.freemarker.FreemarkerManager
addSetting, buildScopesHashModel, configureTemplateLoader, getConfig, getConfiguration, getContentType, getDebug, getNocache, getNoCharsetInContentType, getTemplatePath, getWrapper, loadSettings, setCacheBeanWrapper, setContainer, setFileManagerFactory, setMruMaxStrongSize, setTemplateUpdateDelay, setThemeTemplateLoader, setWrapperAltMap
-
Field Details
-
PARAM_BASE_URL
- See Also:
-
PARAM_CONTEXT
- See Also:
-
PARAM_I18N_BEAN
- See Also:
-
PARAM_JIRA_ISSUE_UTILS
- See Also:
-
PARAM_WEB_RESOURCE_MANAGER
- See Also:
-
PARAM_STATIC_RESOURCE_PREFIX
- See Also:
-
PARAM_BAMBOO_PERMISSION_MANAGER
- See Also:
-
PARAM_BUILD_UTILS
- See Also:
-
FREEMARKER_COMPATIBILITY_VERSION
public static final freemarker.template.Version FREEMARKER_COMPATIBILITY_VERSION
-
-
Constructor Details
-
BambooFreemarkerManager
public BambooFreemarkerManager()
-
-
Method Details
-
createObjectWrapper
protected freemarker.template.ObjectWrapper createObjectWrapper(jakarta.servlet.ServletContext servletContext) Temporarily overriding the object wrapper- Overrides:
createObjectWrapperin classorg.apache.struts2.views.freemarker.FreemarkerManager
-
init
public void init(jakarta.servlet.ServletContext servletContext) throws freemarker.template.TemplateException - Overrides:
initin classorg.apache.struts2.views.freemarker.FreemarkerManager- Throws:
freemarker.template.TemplateException
-
getFreemarkerVersion
protected freemarker.template.Version getFreemarkerVersion(jakarta.servlet.ServletContext servletContext) - Overrides:
getFreemarkerVersionin classorg.apache.struts2.views.freemarker.FreemarkerManager
-
setEncoding
- Overrides:
setEncodingin classorg.apache.struts2.views.freemarker.FreemarkerManager
-
createConfiguration
protected freemarker.template.Configuration createConfiguration(jakarta.servlet.ServletContext servletContext) throws freemarker.template.TemplateException - Overrides:
createConfigurationin classorg.apache.struts2.views.freemarker.FreemarkerManager- Throws:
freemarker.template.TemplateException
-
createTemplateLoader
protected freemarker.cache.TemplateLoader createTemplateLoader(jakarta.servlet.ServletContext servletContext, String ignore) - Overrides:
createTemplateLoaderin classorg.apache.struts2.views.freemarker.FreemarkerManager
-
populateContext
public void populateContext(org.apache.struts2.views.freemarker.ScopesHashModel model, org.apache.struts2.util.ValueStack stack, Object action, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) - Overrides:
populateContextin classorg.apache.struts2.views.freemarker.FreemarkerManager
-
render
@Nullable public @Nullable String render(@Nullable @Nullable String templatePath, @Nullable @Nullable Map<String, Object> contextParams) - Specified by:
renderin interfaceTemplateRenderer
-
renderPage
@NotNull public @NotNull String renderPage(@NotNull @NotNull String templatePath, Map<String, Object> params) Render the resource found at the path- Parameters:
templatePath- must not be nullparams- params to pass to the Freemarker context. May be null- Returns:
- the rendered result of the page
-
renderWithoutActionContext
@NotNull public @NotNull String renderWithoutActionContext(@Nullable @Nullable String templatePath, @NotNull @NotNull Map<String, Object> contextParams) Renders the resource found at the path. Does not access variables found in webwork action context.- Specified by:
renderWithoutActionContextin interfaceTemplateRenderer- Parameters:
templatePath- must not be nullcontextParams- params to pass to the Freemarker context. May be null- Returns:
- the rendered result of the page
-
render
public void render(String templatePath, @Nullable @Nullable Map<String, Object> contextParams, @NotNull @NotNull Writer writer) throws IOExceptionRender the given template to the given writer- Specified by:
renderin interfaceTemplateRenderer- Parameters:
templatePath- The path of the templatecontextParams- The template context paramswriter- The writer to write to- Throws:
IOException- If an error occurred while writing to the writer
-
renderTextWithoutActionContext
@NotNull public @NotNull String renderTextWithoutActionContext(@NotNull @NotNull String text, Map<String, Object> params) - Specified by:
renderTextWithoutActionContextin interfaceTemplateRenderer
-
renderText
@NotNull public @NotNull String renderText(@Nullable @Nullable 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:
renderTextin interfaceTemplateRenderer- Parameters:
text- String containing Freemarker markupparams- parameters- Returns:
- Rendered Freemarker template
-
clearCaches
public void clearCaches() -
setHomeLocator
-
setPluginAccessor
public void setPluginAccessor(@Nullable @Nullable com.atlassian.plugin.PluginAccessor pluginAccessor) -
setI18nBeanFactory
-
setServletContext
public void setServletContext(jakarta.servlet.ServletContext servletContext) - Specified by:
setServletContextin interfaceorg.springframework.web.context.ServletContextAware
-
setOsgiServiceProxyFactory
-
buildTemplateModel
public org.apache.struts2.views.freemarker.ScopesHashModel buildTemplateModel(org.apache.struts2.util.ValueStack stack, @Nullable @Nullable Object action, jakarta.servlet.ServletContext servletContext, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, freemarker.template.ObjectWrapper wrapper) - Overrides:
buildTemplateModelin classorg.apache.struts2.views.freemarker.FreemarkerManager
-