/src/main/java/com/atlassian/jira/collector/plugin/components/ScriptletRendererImpl.java
Java | 57 lines | 48 code | 9 blank | 0 comment | 1 complexity | 5cef16efae7cc69c1966879a2da77188 MD5 | raw file
- package com.atlassian.jira.collector.plugin.components;
- import com.atlassian.jira.security.JiraAuthenticationContext;
- import com.atlassian.jira.util.JiraVelocityUtils;
- import com.atlassian.plugin.webresource.UrlMode;
- import com.atlassian.plugin.webresource.WebResourceManager;
- import com.atlassian.templaterenderer.TemplateRenderer;
- import org.apache.commons.lang.StringEscapeUtils;
- import org.apache.log4j.Logger;
- import java.io.IOException;
- import java.io.StringWriter;
- import java.util.Map;
- public class ScriptletRendererImpl implements ScriptletRenderer
- {
- private static final Logger log = Logger.getLogger(ScriptletRendererImpl.class);
- private final WebResourceManager webResourceManager;
- private final TemplateRenderer templateRenderer;
- private final JiraAuthenticationContext authenticationContext;
- public ScriptletRendererImpl(final WebResourceManager webResourceManager, final TemplateRenderer templateRenderer,
- final JiraAuthenticationContext authenticationContext)
- {
- this.webResourceManager = webResourceManager;
- this.templateRenderer = templateRenderer;
- this.authenticationContext = authenticationContext;
- }
- @Override
- public String render(final Collector collector)
- {
- final StringWriter out = new StringWriter();
- final Map<String, Object> context = JiraVelocityUtils.createVelocityParams(authenticationContext);
- context.put("collector", collector);
- context.put("triggerTextHtml", StringEscapeUtils.escapeJavaScript(collector.getTrigger().getText()));
- if (collector.getTrigger().getPosition().equals(Trigger.Position.CUSTOM))
- {
- context.put("customFunctionHtml", collector.getTrigger().getCustomFunction());
- }
- context.put("bootstrapHtml", webResourceManager.getResourceTags("com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector", UrlMode.ABSOLUTE));
- try
- {
- templateRenderer.render("templates/rest/scriptlet-source.vm", context, out);
- }
- catch (IOException e)
- {
- log.error("Unknown error rendering template scriptlet-source.vm", e);
- return "Error rendering script!";
- }
- return out.toString();
- }
- }