[jdom-interest] NPE on Serialization

Jan Kriesten jan.kriesten at renitence.de
Tue Jul 10 02:27:10 PDT 2007


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.



More information about the jdom-interest mailing list