jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Reutegger <marcel.reuteg...@gmx.net>
Subject Re: Problems with XPath querying of Multivalue properties
Date Thu, 14 Dec 2006 08:24:11 GMT
Hi Shane,

jsr 170 only supports values of single-valued properties in the result row. See 
section 6.6.3.1. of the spec.

The JCR API does not have methods to retrieve multi-valued properties out of a 
row. There is only:
- Row.getValue(String propertyName)
- Row.getValues()

Where the latter simply puts the value for each selected (sinlge-valued) 
property into an array and returns it.

As you described, the workaround is to get the node and call 
getProperty(propName).getValues()

regards
  marcel

Shane Preater wrote:
> Hi,
> 
> I am trying to perform the following query:
> /jcr:root/some/path/(@lastName, @articles)
> On the 1.1.1 RMI jackrabbit service running on
> rmi:localhost:1099/jackrabbit.repository
> 
> The problem I am getting is that the 'articles' property is multi-valued 
> and
> when I call the RowIterator method getValues("articles");
> on the returned rows it always fails with a NullPointerException. 
> However if
> I obtain the node via the 'jcr:path' value returned and then call
> node.getProperty("articles").getValues(); This returns the correct values.
> 
> Is there an issue with querying properties with multiple values in the 
> XPath
> query engine? I know that predicating properties with multivalues works 
> as I
> am also doing the following:
> /jcr:root/some/path/*[@articles= 'aabb-aabbdd-a2203a'] which returns all 
> the
> nodes which have the uuid as one of their articles.
> 
> Thanks for any help.
> Shane Preater.
> 


Mime
View raw message