package com.garyhodgson.jira.renderer.tinymce; import com.atlassian.jira.ComponentManager; import com.atlassian.jira.config.properties.PropertiesManager; import com.atlassian.jira.security.xsrf.RequiresXsrfCheck; import com.atlassian.jira.web.action.JiraWebActionSupport; import com.opensymphony.module.propertyset.PropertySet; import java.util.Map; import webwork.action.ActionContext; public class TinyMCERendererAdminAction extends JiraWebActionSupport { public static final String RENDER_WIKI_TEXT_PROPERTY = "com.garyhodgson.jira.tinymce-renderer-plugin.renderWikiText"; public static final String STRIP_ALL_TAGS_PROPERTY = "com.garyhodgson.jira.tinymce-renderer-plugin.stripAllTags"; public static final String STRIP_SOME_TAGS_PROPERTY = "com.garyhodgson.jira.tinymce-renderer-plugin.stripSomeTags"; public static final String STRIP_NO_TAGS_PROPERTY = "com.garyhodgson.jira.tinymce-renderer-plugin.stripNoTags"; private PropertySet properties; public TinyMCERendererAdminAction() { PropertiesManager propertiesManager = ComponentManager.getComponent(PropertiesManager.class); this.properties = propertiesManager.getPropertySet(); } @RequiresXsrfCheck @Override public String doDefault() { return SUCCESS; } @RequiresXsrfCheck public String doSaveConfiguration() { final Map actionParams = ActionContext.getParameters(); boolean isRenderWikiText = false; boolean isStripAllTags = false; boolean isStripSomeTags = false; boolean isStripNoTags = false; if (actionParams.containsKey("renderWikiText")) { String[] values = (String[]) actionParams.get("renderWikiText"); if (values[0] != null && values[0].equals("on")) { isRenderWikiText = true; } } properties.setBoolean(RENDER_WIKI_TEXT_PROPERTY, isRenderWikiText); if (actionParams.containsKey("stripTags")) { String[] values = (String[]) actionParams.get("stripTags"); if (values[0] != null) { isStripAllTags = values[0].equals("All"); isStripSomeTags = values[0].equals("Some"); isStripNoTags = values[0].equals("None"); } } properties.setBoolean(STRIP_ALL_TAGS_PROPERTY, isStripAllTags); properties.setBoolean(STRIP_SOME_TAGS_PROPERTY, isStripSomeTags); properties.setBoolean(STRIP_NO_TAGS_PROPERTY, isStripNoTags); return SUCCESS; } public boolean getRenderWikiText() { return properties.getBoolean(RENDER_WIKI_TEXT_PROPERTY); } public boolean getStripAllTags() { return properties.getBoolean(STRIP_ALL_TAGS_PROPERTY); } public boolean getStripSomeTags() { return properties.getBoolean(STRIP_SOME_TAGS_PROPERTY); } public boolean getStripNoTags() { return properties.getBoolean(STRIP_NO_TAGS_PROPERTY); } }