On Wed, Mar 10, 2010 at 7:43 AM, asiri <[email protected]> wrote:
> Author: asiri
> Date: 2010-03-10 07:43:01 +0100 (Wed, 10 Mar 2010)
> New Revision: 27562
>
> Modified:
>
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroFactory.java
>
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroInitializer.java
>
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/WikiMacroConstants.java
>
> platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/macro/wikibridge/WikiMacroParameterDescriptor.java
> Log:
> XWIKI-4944: Add support for Default Values for XWiki Wiki Macros.
>
> * Applied anamaria's patch without changes.
>
> Modified:
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroFactory.java
> ===================================================================
> ---
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroFactory.java
> 2010-03-10 05:11:59 UTC (rev 27561)
> +++
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroFactory.java
> 2010-03-10 06:43:01 UTC (rev 27562)
> @@ -191,7 +191,8 @@
> String parameterDescription =
> macroParameter.getStringValue(PARAMETER_DESCRIPTION_PROPERTY);
> boolean parameterMandatory =
> (macroParameter.getIntValue(PARAMETER_MANDATORY_PROPERTY)
> == 0) ? false : true;
> -
> + String parameterDefaultValue =
> macroParameter.getStringValue(PARAMETER_DEFAULT_VALUE_PROPERTY);
> +
> // Verify parameter name.
> if (StringUtils.isEmpty(parameterName)) {
> throw new WikiMacroException(String.format(
> @@ -203,10 +204,15 @@
> String errorMessage = "Incomplete macro definition in
> [%s], macro parameter description is empty";
> getLogger().debug(String.format(errorMessage,
> documentReference));
> }
> +
> + // If field empty, assume no default value was provided.
> + if (StringUtils.isEmpty(parameterDefaultValue)) {
> + parameterDefaultValue = null;
> + }
>
> // Create the parameter descriptor.
> parameterDescriptors.add(new
> WikiMacroParameterDescriptor(parameterName, parameterDescription,
> - parameterMandatory));
> + parameterMandatory, parameterDefaultValue));
> }
> }
>
>
> Modified:
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroInitializer.java
> ===================================================================
> ---
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroInitializer.java
> 2010-03-10 05:11:59 UTC (rev 27561)
> +++
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroInitializer.java
> 2010-03-10 06:43:01 UTC (rev 27562)
> @@ -235,6 +235,7 @@
> needsUpdate |= bclass.addTextField(PARAMETER_NAME_PROPERTY,
> "Parameter name", 30);
> needsUpdate |=
> bclass.addTextAreaField(PARAMETER_DESCRIPTION_PROPERTY, "Parameter
> description", 40, 5);
> needsUpdate |= bclass.addBooleanField(PARAMETER_MANDATORY_PROPERTY,
> "Parameter mandatory", "yesno");
Shouldn't this be "Mandatory parameter" instead?
> + needsUpdate |= bclass.addTextField(PARAMETER_DEFAULT_VALUE_PROPERTY,
> "Parameter default value", 30);
This should be instead:
"Default parameter value"
Thanks
-Vincent
>
> if (needsUpdate) {
> update(doc);
>
> Modified:
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/WikiMacroConstants.java
> ===================================================================
> ---
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/WikiMacroConstants.java
> 2010-03-10 05:11:59 UTC (rev 27561)
> +++
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/WikiMacroConstants.java
> 2010-03-10 06:43:01 UTC (rev 27562)
> @@ -111,4 +111,10 @@
> * Constant for representing parameter mandatory property.
> */
> String PARAMETER_MANDATORY_PROPERTY = "mandatory";
> +
> + /**
> + * Constant for representing parameter defaultValue property.
> + * @since 2.3M1
> + */
> + String PARAMETER_DEFAULT_VALUE_PROPERTY = "defaultValue";
> }
>
> Modified:
> platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/macro/wikibridge/WikiMacroParameterDescriptor.java
> ===================================================================
> ---
> platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/macro/wikibridge/WikiMacroParameterDescriptor.java
> 2010-03-10 05:11:59 UTC (rev 27561)
> +++
> platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/macro/wikibridge/WikiMacroParameterDescriptor.java
> 2010-03-10 06:43:01 UTC (rev 27562)
> @@ -54,6 +54,11 @@
> private boolean mandatory;
>
> /**
> + * Default value of the parameter.
> + */
> + private Object defaultValue;
> +
> + /**
> * Creates a new {...@link WikiMacroParameterDescriptor} instance.
> *
> * @param id parameter identifier.
> @@ -68,6 +73,23 @@
> }
>
> /**
> + * Creates a new {...@link WikiMacroParameterDescriptor} instance.
> + *
> + * @param id parameter identifier.
> + * @param description parameter description.
> + * @param mandatory if the parameter is mandatory.
> + * @param defaultValue parameter default value.
> + * @since 2.3M1
> + */
> + public WikiMacroParameterDescriptor(String id, String description,
> boolean mandatory, Object defaultValue)
> + {
> + this.id = id;
> + this.description = description;
> + this.mandatory = mandatory;
> + this.defaultValue = defaultValue;
> + }
> +
> + /**
> * {...@inheritdoc}
> */
> public String getId()
> @@ -106,7 +128,7 @@
> */
> public Object getDefaultValue()
> {
> - return null;
> + return this.defaultValue;
> }
>
> /**
>
> _______________________________________________
> notifications mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/notifications
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs