diff --git a/src/helma/objectmodel/db/Node.java b/src/helma/objectmodel/db/Node.java index 285406d2..4b4d2697 100644 --- a/src/helma/objectmodel/db/Node.java +++ b/src/helma/objectmodel/db/Node.java @@ -107,7 +107,7 @@ public final class Node implements INode, Serializable { * Write out this instance to a stream */ private void writeObject (ObjectOutputStream out) throws IOException { - out.writeShort (6); // serialization version + out.writeShort (7); // serialization version out.writeUTF (id); out.writeUTF (name); out.writeObject (parentHandle); diff --git a/src/helma/objectmodel/db/Property.java b/src/helma/objectmodel/db/Property.java index 78f3ae0c..b7da69c1 100644 --- a/src/helma/objectmodel/db/Property.java +++ b/src/helma/objectmodel/db/Property.java @@ -40,7 +40,11 @@ public final class Property implements IProperty, Serializable, Cloneable { type = in.readInt (); switch (type) { case STRING: - svalue = in.readUTF (); + // try to convert from old format + if (node.version < 7) + svalue = in.readUTF (); + else + svalue = (String) in.readObject (); break; case BOOLEAN: bvalue = in.readBoolean (); @@ -74,7 +78,7 @@ public final class Property implements IProperty, Serializable, Cloneable { out.writeInt (type); switch (type) { case STRING: - out.writeUTF (svalue); + out.writeObject (svalue); break; case BOOLEAN: out.writeBoolean (bvalue);