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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.