Re: NPE on Serialization
Jason Hunter <[email protected]>
| Newsgroups | gmane.comp.java.jdom.general |
|---|---|
| Message-ID | <[email protected]> |
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/[email protected]
>
_______________________________________________
To control your jdom-interest membership:
http://www.jdom.org/mailman/options/jdom-interest/[email protected]