Hi Ricardo,
I have created the class Contacts.ContactClass. This class has three string properties "firstname", "surname" and "phone1". I have also created two instances of this class and filled out the attributes.
Now, it should be straight forward to write a Velocity script to seach for all objects with the given class type of "Contacts.ContactClass" and write out the attributes but I'm having some trouble. Below is my script: #set($query="select obj from BaseObject obj where obj.className='Contacts.ContactClass'") #set($results=$xwiki.search($query, 10, 1)) #foreach ($item in $results) $item.get("firstname") | $item.get("surname") | $item.get("phone1") <br /> #end
However this does not work. All I get is:
$item.get("firstname") | $item.get("surname") | $item.get("phone1") $item.get("firstname") | $item.get("surname") | $item.get("phone1")
When I run:
#set($query="select obj from BaseObject obj where obj.className='Contacts.ContactClass'") #set($results=$xwiki.search($query, 10, 1)) #foreach ($item in $results) $item #end
I get:
Contacts.Tjaart 0 Contacts.ContactClass Contacts.Jane 0 Contacts.ContactClass
I think we are missing some important point about how objects are retrieved. See this FAQ...
I am not able yet to relate this with Guillaume proposal. He doesn't use .getProperty and I don't know why.
And this thread in xwiki-devs...
Obviously I've been writing too fast thus proposing a mistaken solution :-) I'll check on stuff I've used before and try to get back with a _working_ suggestion ;-) Guillaume