Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How do I access Confluence macro parameters within a custom migrator (used to migrate to an xhtml macro)?

John Wright March 22, 2013

I have a 3.x macro that requires (un-named arguments) that is to be migrated to a 4.x xhtml-macro.

The migration works but the parameters in the xhtml-macro are not populated.

Old macro example:

{myMacro:arg1|arg2}

I try to get "arg1" and "arg2" above using this:

(String) macroParams.get("0") and (String) macroParams.get("1")

It doesn't appear to work. Ideas? :-)

2 answers

1 accepted

0 votes
Answer accepted
John Wright April 26, 2013

Within the migrator:

final Map<String, String> macroParams = macroDefinition.getParameters();

final String defaultValue = macroDefinition.getDefaultParameterValue();

defaultValue = the first argument (arg1) in {myMacro:arg1|arg2}

macroParams.get("1") = the second argument (arg2) in {myMacro:arg1|arg2}

I believe this is the correct answer. If someone knows better, please respond! Thanks.

0 votes
John Wright March 23, 2013

Macros have a "Default" parameter, i.e. one whose key is an empty string (getParam("")) while, it appears, xhtml- macros use "0" (getParam("0")). Macro params following the default one start at "1" (getParam("1")). I believe this is the correct answer. If someone knows better, please respond! Thanks.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events