-
Bug
-
Resolution: Fixed
-
High
-
4.0
-
None
Consider macro:
{macro|val1|param=val2}. val1 is a content of default parameter (without a name), val2 is a content of parameter named param.
All parameters are passed to execute(). Default parameter is NOT passed to getImagePlaceholder().
Code:
public class ScreenSnipeMacro implements Macro, ResourceAware, EditorImagePlaceholder { @Override public String execute(final Map<String, String> parameters, final String body, final ConversionContext context) throws MacroExecutionException { assertEquals("val2", parameters.get("param")); // PASS assertEquals("val1", parameters.get("0")); // PASS assertEquals(2, parameters.size()); // PASS } @Override public ImagePlaceholder getImagePlaceholder(final Map<String, String> parameters, final ConversionContext context) { assertEquals("val2", parameters.get("param")); // PASS assertEquals("val1", parameters.get("0")); // FAIL assertEquals(2, parameters.size()); // WOULD FAIL } }
atlassian-plugin.xml
<xhtml-macro key="screenshot" name="screenshot" class="com.screensnipe.confluence.macro.ScreenSnipeMacro" icon="/download/resources/${project.groupId}.${project.artifactId}:icons/macro-icon.png"> <!-- Name attribute specifies the macro tag, it's {screenshot}. --> <!-- Description is displayed in macro browser below the title. --> <description>Snipe a screenshot, add arrows and texts and put directly on page.</description> <category name="confluence-content"/> <category name="visuals"/> <parameters> <parameter name="" type="string" multiple="false"/> <parameter name="align" type="enum" multiple="false" default="none"> <value name="none"/> <value name="center"/> <value name="left"/> <value name="right"/> </parameter> <parameter name="zoom" type="string"/> <parameter name="width" type="string"/> <parameter name="height" type="string"/> <parameter name="border" type="string"/> <parameter name="border-color" type="string"/> </parameters> <resource type="velocity" name="help" location="/com/screensnipe/confluence/macro/help.vm"> <param name="help-section" value="images"/> </resource> <resource type="i18n" name="i18n" location="com/screensnipe/confluence/macro/i18n"/> </xhtml-macro>
- relates to
-
CONFSERVER-37325 Custom Macro ignores default boolean parameter
- Closed
-
CONFSERVER-23704 Default user macro parameters ignored
- Gathering Impact