On 03/06/2010 01:06 AM, Abel Solórzano Astorga wrote:
Thanks again Caleb,
I try your suggestion, but I keep getting a null value from * valdoc.getDocument().**getxWikiClass().get("Project")*.
The fields Map ( *valdoc.getDocument().**getxWikiClass().fields.keySet(**)*) is empty.
I put the following line on the code:
*println valdoc.getDocument().getxWikiClass().toString()*
and the result is
*<class> <name>ValidationSample.TestClass_6</name> <customClass></customClass> <customMapping></customMapping> <defaultViewSheet></defaultViewSheet> <defaultEditSheet></defaultEditSheet> <defaultWeb></defaultWeb> <nameField></nameField> <validationScript></validationScript> </class>*
I was expecting to see the properties on the XML.
Abel
Is valdoc the document containing the class? It doesn't look like it from the name. So, you must do something like:
{{velocity}} #set($classDoc = $xwiki.getDocument('Your.Class')) #set($propertyDefinition = $classDoc.getxWikiClass().get('project')) ## $propertyDefinition.class should now print com.xpn.xwiki.api.PropertyClass ## Unfortunately, at this point you need programming rights to go into the inner, protected property definition #set($propertyDefinition = $propertyDefinition.getPropertyClass()) ## $propertyDefinition.class should now print com.xpn.xwiki.objects.classes.StaticListClass ## If it doesn't, then you don't have programming rights. $propertyDefinition.setValues('a|b|c') ## Don't forget to save $classDoc.save() {{/velocity}}
-- Sergiu Dumitriu http://purl.org/net/sergiu/