Hi,
I've been trying out the UserManager class and noticed that
createUser throws an exception
(javax.jcr.query.InvalidQueryException) if the user name contains a
'@' character.
The full stack trace is listed below. Is this the expected behavior
or should I file a bug?
Thanks,
Scott
Exception in thread "main" javax.jcr.query.InvalidQueryException:
Lexical error at line 1, column 76. Encountered: "@" (64), after :
"" for statement: for $v in /jcr:root/rep:security/rep:authorizables/
rep:groups//element([EMAIL PROTECTED],rep:Group) return $v: Lexical
error at line 1, column 76. Encountered: "@" (64), after : "":
Lexical error at line 1, column 76. Encountered: "@" (64), after : ""
at
org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.<init>
(XPathQueryBuilder.java:302)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.createQu
ery(XPathQueryBuilder.java:331)
at
org.apache.jackrabbit.spi.commons.query.xpath.QueryBuilder.createQueryTr
ee(QueryBuilder.java:39)
at org.apache.jackrabbit.spi.commons.query.QueryParser.parse
(QueryParser.java:57)
at org.apache.jackrabbit.core.query.lucene.QueryImpl.<init>
(QueryImpl.java:91)
at
org.apache.jackrabbit.core.query.lucene.SearchIndex.createExecutableQuer
y(SearchIndex.java:615)
at org.apache.jackrabbit.core.query.QueryImpl.init
(QueryImpl.java:128)
at org.apache.jackrabbit.core.SearchManager.createQuery
(SearchManager.java:282)
at
org.apache.jackrabbit.core.query.QueryManagerImpl.createQuery
(QueryManagerImpl.java:102)
at
org.apache.jackrabbit.core.security.user.IndexNodeResolver.buildQuery
(IndexNodeResolver.java:105)
at
org.apache.jackrabbit.core.security.user.IndexNodeResolver.findNode
(IndexNodeResolver.java:50)
at
org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable
(UserManagerImpl.java:93)
at
org.apache.jackrabbit.core.security.user.UserManagerImpl.createUser
(UserManagerImpl.java:177)
at
org.apache.jackrabbit.core.security.user.UserManagerImpl.createUser
(UserManagerImpl.java:158)
at FirstHop.main(FirstHop.java:20)
Caused by:
org.apache.jackrabbit.spi.commons.query.xpath.TokenMgrError: Lexical
error at line 1, column 76. Encountered: "@" (64), after : ""
at
org.apache.jackrabbit.spi.commons.query.xpath.XPathTokenManager.getNextT
oken(XPathTokenManager.java:13263)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.jj_ntk
(XPath.java:9187)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ElementTest
(XPath.java:8745)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.KindTest
(XPath.java:8120)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.NodeTest
(XPath.java:5041)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.AbbrevForwardStep
(XPath.java:4891)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ForwardStep
(XPath.java:4747)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.AxisStep
(XPath.java:4692)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.StepExpr
(XPath.java:4597)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.RelativePathExpr
(XPath.java:4547)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.PathExpr
(XPath.java:4396)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ValueExpr
(XPath.java:4125)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.UnaryExpr
(XPath.java:4032)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.CastExpr
(XPath.java:3935)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.CastableExpr
(XPath.java:3898)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.TreatExpr
(XPath.java:3861)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.InstanceofExpr
(XPath.java:3824)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.IntersectExceptExpr(
XPath.java:3748)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.UnionExpr
(XPath.java:3672)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.MultiplicativeExpr
(XPath.java:3586)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.AdditiveExpr
(XPath.java:3510)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.RangeExpr
(XPath.java:3451)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ComparisonExpr
(XPath.java:3353)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.AndExpr
(XPath.java:3290)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.OrExpr
(XPath.java:3227)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ExprSingle
(XPath.java:2214)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ForClause
(XPath.java:2337)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.FLWORExpr
(XPath.java:2233)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ExprSingle
(XPath.java:2133)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.Expr
(XPath.java:2094)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.QueryBody
(XPath.java:2066)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.MainModule
(XPath.java:512)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.Module
(XPath.java:387)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.QueryList
(XPath.java:151)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.XPath2
(XPath.java:118)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.<init>
(XPathQueryBuilder.java:295)
... 14 more
org.apache.jackrabbit.spi.commons.query.xpath.TokenMgrError: Lexical
error at line 1, column 76. Encountered: "@" (64), after : ""
at
org.apache.jackrabbit.spi.commons.query.xpath.XPathTokenManager.getNextT
oken(XPathTokenManager.java:13263)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.jj_ntk
(XPath.java:9187)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ElementTest
(XPath.java:8745)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.KindTest
(XPath.java:8120)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.NodeTest
(XPath.java:5041)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.AbbrevForwardStep
(XPath.java:4891)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ForwardStep
(XPath.java:4747)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.AxisStep
(XPath.java:4692)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.StepExpr
(XPath.java:4597)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.RelativePathExpr
(XPath.java:4547)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.PathExpr
(XPath.java:4396)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ValueExpr
(XPath.java:4125)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.UnaryExpr
(XPath.java:4032)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.CastExpr
(XPath.java:3935)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.CastableExpr
(XPath.java:3898)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.TreatExpr
(XPath.java:3861)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.InstanceofExpr
(XPath.java:3824)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.IntersectExceptExpr(
XPath.java:3748)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.UnionExpr
(XPath.java:3672)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.MultiplicativeExpr
(XPath.java:3586)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.AdditiveExpr
(XPath.java:3510)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.RangeExpr
(XPath.java:3451)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ComparisonExpr
(XPath.java:3353)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.AndExpr
(XPath.java:3290)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.OrExpr
(XPath.java:3227)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ExprSingle
(XPath.java:2214)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ForClause
(XPath.java:2337)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.FLWORExpr
(XPath.java:2233)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.ExprSingle
(XPath.java:2133)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.Expr
(XPath.java:2094)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.QueryBody
(XPath.java:2066)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.MainModule
(XPath.java:512)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.Module
(XPath.java:387)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPath.QueryList
(XPath.java:151)
at org.apache.jackrabbit.spi.commons.query.xpath.XPath.XPath2
(XPath.java:118)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.<init>
(XPathQueryBuilder.java:295)
at
org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.createQu
ery(XPathQueryBuilder.java:331)
at
org.apache.jackrabbit.spi.commons.query.xpath.QueryBuilder.createQueryTr
ee(QueryBuilder.java:39)
at org.apache.jackrabbit.spi.commons.query.QueryParser.parse
(QueryParser.java:57)
at org.apache.jackrabbit.core.query.lucene.QueryImpl.<init>
(QueryImpl.java:91)
at
org.apache.jackrabbit.core.query.lucene.SearchIndex.createExecutableQuer
y(SearchIndex.java:615)
at org.apache.jackrabbit.core.query.QueryImpl.init
(QueryImpl.java:128)
at org.apache.jackrabbit.core.SearchManager.createQuery
(SearchManager.java:282)
at
org.apache.jackrabbit.core.query.QueryManagerImpl.createQuery
(QueryManagerImpl.java:102)
at
org.apache.jackrabbit.core.security.user.IndexNodeResolver.buildQuery
(IndexNodeResolver.java:105)
at
org.apache.jackrabbit.core.security.user.IndexNodeResolver.findNode
(IndexNodeResolver.java:50)
at
org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable
(UserManagerImpl.java:93)
at
org.apache.jackrabbit.core.security.user.UserManagerImpl.createUser
(UserManagerImpl.java:177)
at
org.apache.jackrabbit.core.security.user.UserManagerImpl.createUser
(UserManagerImpl.java:158)
at FirstHop.main(FirstHop.java:20)