Hi,
See below:
BrianJones wrote:
> Hi all,
>
> I'm having trouble using Velocity to analyze the boolean value of a property
> of a class.
>
> For example, I have class X, with a property Y (I'll call this property
> 'example_bool' in the lower example code) which is of type 'Boolean'. I've
> configured this property to use radio buttons so the user is only able to
> choose one value. I've created several objects of this class, making sure
> to utilize both the 'Yes' and 'No' values for some of these objects (to
> ensure for testing purposes I have some of both).
>
> This class also has another property, a static list, of location strings,
> such as 'Location X', 'Location Y', etc.
>
> Now, on a page, I am trying to calculate how many of each location have the
> boolean value of Yes and no with the following velocity/HQL statement:
>
> #set ($results = $xwiki.search("select obj.name from BaseObject obj,
> StringProperty prop where obj.className='Example.ExampleClass' and
> obj.name<>'Example.ExampleClassTemplate' and prop.id.id=obj.id and
> prop.name='location' and prop.value='Location X' order by obj.name asc"))
> #set ($numTrue = 0)
> #set ($numFalse = 0)
> #foreach ($item in $results)
> #set ($object = $xwiki.getDocument(${item}))
> #if (!$object.get("example_bool"))
> #set ($numFalse = $numFalse + 1)
> #else
> #set ($numTrue = $numTrue + 1)
> #end
> #end
Try to replace
#if (!$object.get("example_bool"))
by
#if (!$object.getProperty("example_bool").value)
Hope this helps (haven't tested, I admit)
Jerome.
>
> This code is being executed without error, however, the 'True' count is
> always being evaluated as the total number of objects, while the 'False'
> count always stays at 0, even though I KNOW there are objects in this group
> that have the value of 'No' for the 'example_bool' property.
>
> Does anyone know what I'm doing wrong, or have any ideas that might help me
> out? Thanks in advance gang.
>
> On a side note, I've also noted that when using the Boolean property, the
> user has the choice of 'Yes', 'No' and '---'. What is this later value
> ('---') and why is it always included? To me, the meaning of Boolean means
> 'True OR False' and nothing else. Does this third value have a purpose?
> And is there a way of excluding it from the choices the user sees?
>
> Thanks again everyone!
_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users