[jdom-interest] NPE on Serialization
Jason Hunter
jhunter at servlets.com
Fri Nov 9 01:32:37 PST 2007
Thanks for the report. I fixed the bug. The fix is a little more
complicated than the patch you proposed since you need to indicate to
the receiver in readObject() the lack of a namespace and have it handle
that situation.
-jh-
Jan Kriesten wrote:
> Hi,
>
> I get the following NPE on serializing JDOM 1.0:
>
> ---8<---
> 11:17:15.220 ERROR [org.apache.wicket.util.lang.Objects ] - Error
> serializing object class de.silberlicht.wsl.test.HelloWor
> ld [object=[Page class = de.silberlicht.wsl.test.HelloWorld, id = 3, version = 0]]
> java.lang.NullPointerException
> at org.jdom.filter.ElementFilter.writeObject(ElementFilter.java:167)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ---8<---
>
> In ElementFilter.java:167 there's no check whether or not 'namespace' is
> actually set.
>
> Changing writeObject() to
>
> ---8<---
> private void writeObject(ObjectOutputStream out) throws IOException {
>
> out.defaultWriteObject();
>
> // We use writeObject() and not writeUTF() to minimize space
> // This allows for writing pointers to already written strings
> if( namespace!=null )
> {
> out.writeObject(namespace.getPrefix());
> out.writeObject(namespace.getURI());
> }
> }
> ---8<---
>
> solves the problem. Does this have any side-effects?
>
> Best regards, --- Jan.
>
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
>
More information about the jdom-interest
mailing list