You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Stephan Mikaty <mi...@ecircle-ag.com> on 2003/06/13 11:18:42 UTC
[jxpath] querying a javamail Message
Hi everyone,
I've been trying to use xpath expressions against
a javax.mail.internet.MimeMessage with attachments.
Thi allows me to shorten my junit test cases:
JXPathContext ctx = JXPathContext.newContext(message);
assertEquals("text/plain", ctx.getValue("content/bodyPart[0]/contentType"));
I get the following trace:
java.lang.NullPointerException
at
org.apache.commons.jxpath.util.ValueUtils.getCollectionHint(ValueUtils.java:
112)
at
org.apache.commons.jxpath.ri.model.beans.BeanPropertyPointer.isCollection(Be
anPropertyPointer.java:201)
at
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.isCollectionElement(
SimplePathInterpreter.java:770)
at
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doPredicateIndex(Sim
plePathInterpreter.java:674)
at
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doPredicate(SimplePa
thInterpreter.java:487)
at
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doStepPredicatesProp
ertyOwner(SimplePathInterpreter.java:353)
at
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doStep(SimplePathInt
erpreter.java:194)
at
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doStepNoPredicatesPr
opertyOwner(SimplePathInterpreter.java:276)
at
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doStep(SimplePathInt
erpreter.java:187)
at
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.interpretSimpleLocat
ionPath(SimplePathInterpreter.java:122)
at
org.apache.commons.jxpath.ri.compiler.Path.getSingleNodePointerForSteps(Path
.java:186)
at
org.apache.commons.jxpath.ri.compiler.LocationPath.computeValue(LocationPath
.java:128)
at
org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getValue(JXPathConte
xtReferenceImpl.java:287)
at
org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getValue(JXPathConte
xtReferenceImpl.java:283)
Am i doing something wrong? I looked a the code and tried a few changes,
but couldn't come up with any obvious fix.
Any help appreciated,
Stephane
Re: [jxpath] querying a javamail Message
Posted by Dmitri Plotnikov <dp...@yahoo.com>.
Stephan,
Sorry about the horrible error message. I'll change it to print
something more comprehensible.
The obvious problem is that you are using 0 instead of 1 to access the
first element of the collection (I know, I know... I hate that too. But
it's XPath standard - what are you gonna do?)
I hope this helps.
- Dmitri
--- Stephan Mikaty <mi...@ecircle-ag.com> wrote:
> Hi everyone,
>
> I've been trying to use xpath expressions against
> a javax.mail.internet.MimeMessage with attachments.
> Thi allows me to shorten my junit test cases:
>
> JXPathContext ctx = JXPathContext.newContext(message);
> assertEquals("text/plain",
> ctx.getValue("content/bodyPart[0]/contentType"));
>
> I get the following trace:
>
> java.lang.NullPointerException
> at
>
org.apache.commons.jxpath.util.ValueUtils.getCollectionHint(ValueUtils.java:
> 112)
> at
>
org.apache.commons.jxpath.ri.model.beans.BeanPropertyPointer.isCollection(Be
> anPropertyPointer.java:201)
> at
>
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.isCollectionElement(
> SimplePathInterpreter.java:770)
> at
>
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doPredicateIndex(Sim
> plePathInterpreter.java:674)
> at
>
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doPredicate(SimplePa
> thInterpreter.java:487)
> at
>
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doStepPredicatesProp
> ertyOwner(SimplePathInterpreter.java:353)
> at
>
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doStep(SimplePathInt
> erpreter.java:194)
> at
>
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doStepNoPredicatesPr
> opertyOwner(SimplePathInterpreter.java:276)
> at
>
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.doStep(SimplePathInt
> erpreter.java:187)
> at
>
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter.interpretSimpleLocat
> ionPath(SimplePathInterpreter.java:122)
> at
>
org.apache.commons.jxpath.ri.compiler.Path.getSingleNodePointerForSteps(Path
> .java:186)
> at
>
org.apache.commons.jxpath.ri.compiler.LocationPath.computeValue(LocationPath
> .java:128)
> at
>
org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getValue(JXPathConte
> xtReferenceImpl.java:287)
> at
>
org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getValue(JXPathConte
> xtReferenceImpl.java:283)
>
>
> Am i doing something wrong? I looked a the code and tried a few
> changes,
> but couldn't come up with any obvious fix.
>
> Any help appreciated,
>
> Stephane
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com