Hi Vincent, On Wed, Mar 10, 2010 at 12:55 PM, Vincent Massol <[email protected]> wrote:
> Hi Asiri, > > Don't we have any tests for wiki macros? I don't see any test providing > that it works. Since wiki macros are something introduced recently I'm > surprised we don't have tests for it (or do we?). > There are tests for wiki macros. See http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/test/java/org/xwiki/rendering/internal/macro/wikibridge/ and http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/test/java/org/xwiki/rendering/macro/wikibridge/ If you are referring to this specific new feature or integration tests, No there are none. Thanks. - Asiri > > Also could you explain the need for default parameter values in wiki macro > parameter descriptor? > Since the macro content is available in the content field, isn't it easy to > use a default value there? > > So is this just for convenience or is there something I don't see? > > Thanks > -Vincent > > On Mar 10, 2010, at 7:43 AM, asiri (SVN) 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"); > > + needsUpdate |= > bclass.addTextField(PARAMETER_DEFAULT_VALUE_PROPERTY, "Parameter default > value", 30); > > > > 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 > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

