You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Brian Moseley <bc...@osafoundation.org> on 2005/10/10 22:59:47 UTC
xpath query failure
the following xpath query is failing with the below stack trace. the
problem seems to be the space in the item name "morgen calendar-2". the
space character is obviously allowed in the item name in this position,
so is this a bug, or am i missing something? thanks!
/jcr:root/morgen/morgen calendar-2//element(*,
caldav:resource)[@icalendar:uid = 'e505b68c-36c9-11da- cb90-000a95bb2738']
2005-10-06 17:33:43,120 ERROR [JCRCalendarDao] JCR error storing calendar
javax.jcr.query.InvalidQueryException: Internal error: data is not a
RelationQueryNode
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:435)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
(SimpleNode.java:89)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:455)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
(SimpleNode.java:89)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:455)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
(SimpleNode.java:89)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:455)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
(SimpleNode.java:89)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:455)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
(SimpleNode.java:89)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:455)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
(SimpleNode.java:89)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:455)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
(SimpleNode.java:89)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:455)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
(SimpleNode.java:89)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:455)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
(SimpleNode.java:89)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.createPathQuery
Node(XPathQueryBuilder.java:617)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
(XPathQueryBuilder.java:318)
at org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
(SimpleNode.java:80)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.<init>
(XPathQueryBuilder.java:245)
at
org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.createQuery
(XPathQueryBuilder.java:276)
at
org.apache.jackrabbit.core.query.xpath.QueryBuilder.createQueryTree
(QueryBuilder.java:37)
at org.apache.jackrabbit.core.query.QueryParser.parse
(QueryParser.java:54)
at org.apache.jackrabbit.core.query.lucene.QueryImpl.<init>
(QueryImpl.java:125)
at
org.apache.jackrabbit.core.query.lucene.SearchIndex.createExecutableQuer
y(SearchIndex.java:268)
at org.apache.jackrabbit.core.query.QueryImpl.<init>
(QueryImpl.java:90)
at org.apache.jackrabbit.core.SearchManager.createQuery
(SearchManager.java:165)
at
org.apache.jackrabbit.core.query.QueryManagerImpl.createQuery
(QueryManagerImpl.java:87)
...
Re: xpath query failure
Posted by Brian Moseley <bc...@osafoundation.org>.
Marcel Reutegger wrote:
> using the class org.apache.jackrabbit.core.util.ISO9075 is probably the
> better choice ;)
yeah, you're right, it probably is :)
Re: xpath query failure
Posted by Marcel Reutegger <ma...@gmail.com>.
Hi Brian,
sorry for the late reply...
using the class org.apache.jackrabbit.core.util.ISO9075 is probably the
better choice ;)
regards
marcel
Brian Moseley wrote:
> Brian Moseley wrote:
>
>> ah yes, and section 6.6.4.9. thanks for the pointer. i had read down
>> to 6.6.4.7 but not gone any further :)
>>
>> i don't see an escaping utility in the jcr api. this seems like code
>> that should only have to be written once and be usable by all jcr
>> clients. how do other folks handle escaping?
>
>
> for what it's worth, i copied
> org.apache.jackrabbit.test.api.EscapeJCRUtil. that class really ought to
> be generally available somehow rather than buried down in the jackrabbit
> test code :)
>
>
Re: xpath query failure
Posted by Brian Moseley <bc...@osafoundation.org>.
Brian Moseley wrote:
> ah yes, and section 6.6.4.9. thanks for the pointer. i had read down to
> 6.6.4.7 but not gone any further :)
>
> i don't see an escaping utility in the jcr api. this seems like code
> that should only have to be written once and be usable by all jcr
> clients. how do other folks handle escaping?
for what it's worth, i copied
org.apache.jackrabbit.test.api.EscapeJCRUtil. that class really ought to
be generally available somehow rather than buried down in the jackrabbit
test code :)
Re: xpath query failure
Posted by Brian Moseley <bc...@osafoundation.org>.
Daniel Mullen wrote:
> You probably need to escape names. See section 6.4.3 of JSR-170.
ah yes, and section 6.6.4.9. thanks for the pointer. i had read down to
6.6.4.7 but not gone any further :)
i don't see an escaping utility in the jcr api. this seems like code
that should only have to be written once and be usable by all jcr
clients. how do other folks handle escaping?
Re: xpath query failure
Posted by Daniel Mullen <da...@oracle.com>.
You probably need to escape names. See section 6.4.3 of JSR-170.
Cheers,
..Dan
Brian Moseley wrote:
> the following xpath query is failing with the below stack trace. the
> problem seems to be the space in the item name "morgen calendar-2".
> the space character is obviously allowed in the item name in this
> position, so is this a bug, or am i missing something? thanks!
>
> /jcr:root/morgen/morgen calendar-2//element(*,
> caldav:resource)[@icalendar:uid = 'e505b68c-36c9-11da-
> cb90-000a95bb2738']
>
> 2005-10-06 17:33:43,120 ERROR [JCRCalendarDao] JCR error storing
> calendar
> javax.jcr.query.InvalidQueryException: Internal error: data is not a
> RelationQueryNode
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:435)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
> (SimpleNode.java:89)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:455)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
> (SimpleNode.java:89)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:455)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
> (SimpleNode.java:89)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:455)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
> (SimpleNode.java:89)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:455)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
> (SimpleNode.java:89)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:455)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
> (SimpleNode.java:89)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:455)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
> (SimpleNode.java:89)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:455)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
> (SimpleNode.java:89)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:455)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.childrenAccept
> (SimpleNode.java:89)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.createPathQuery
> Node(XPathQueryBuilder.java:617)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.visit
> (XPathQueryBuilder.java:318)
> at
> org.apache.jackrabbit.core.query.xpath.SimpleNode.jjtAccept
> (SimpleNode.java:80)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.<init>
> (XPathQueryBuilder.java:245)
> at
> org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder.createQuery
> (XPathQueryBuilder.java:276)
> at
> org.apache.jackrabbit.core.query.xpath.QueryBuilder.createQueryTree
> (QueryBuilder.java:37)
> at org.apache.jackrabbit.core.query.QueryParser.parse
> (QueryParser.java:54)
> at org.apache.jackrabbit.core.query.lucene.QueryImpl.<init>
> (QueryImpl.java:125)
> at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.createExecutableQuer
> y(SearchIndex.java:268)
> at org.apache.jackrabbit.core.query.QueryImpl.<init>
> (QueryImpl.java:90)
> at org.apache.jackrabbit.core.SearchManager.createQuery
> (SearchManager.java:165)
> at
> org.apache.jackrabbit.core.query.QueryManagerImpl.createQuery
> (QueryManagerImpl.java:87)
> ...
>