Index: src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java =================================================================== --- src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java (revision 703382) +++ src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java (working copy) @@ -57,7 +57,6 @@ import org.apache.jackrabbit.core.util.StringIndex; import org.apache.jackrabbit.core.persistence.util.BLOBStore; import org.apache.jackrabbit.core.persistence.util.FileSystemBLOBStore; -import org.apache.jackrabbit.core.persistence.util.Serializer; import org.apache.jackrabbit.core.state.ChangeLog; import org.apache.jackrabbit.core.state.ItemStateException; import org.apache.jackrabbit.core.state.NoSuchItemStateException; @@ -1228,7 +1227,7 @@ } ResultSet rs = null; - InputStream in = null; + DataInputStream din = null; try { Statement stmt = connectionManager.executeStmt( nodeReferenceSelectSQL, getKey(targetId.getTargetId().getUUID())); @@ -1237,9 +1236,8 @@ throw new NoSuchItemStateException(targetId.toString()); } - in = rs.getBinaryStream(1); - NodeReferences refs = new NodeReferences(targetId); - Serializer.deserialize(refs, in); + din = new DataInputStream(rs.getBinaryStream(1)); + NodeReferences refs = binding.readState(din, targetId, this); return refs; } catch (Exception e) { @@ -1250,7 +1248,7 @@ log.error(msg, e); throw new ItemStateException(msg, e); } finally { - IOUtils.closeQuietly(in); + IOUtils.closeQuietly(din); closeResultSet(rs); } } @@ -1277,7 +1275,9 @@ ByteArrayOutputStream out = new ByteArrayOutputStream(INITIAL_BUFFER_SIZE); // serialize references - Serializer.serialize(refs, out); + DataOutputStream dout = new DataOutputStream(out); + binding.writeState(dout, refs); + dout.close(); Object[] params = createParams(refs.getTargetId().getUUID(), out.toByteArray(), true); connectionManager.executeStmt(sql, params); Index: src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleFsPersistenceManager.java =================================================================== --- src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleFsPersistenceManager.java (revision 703382) +++ src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleFsPersistenceManager.java (working copy) @@ -28,7 +28,6 @@ import org.apache.jackrabbit.core.persistence.bundle.util.ErrorHandling; import org.apache.jackrabbit.core.persistence.bundle.util.BundleBinding; import org.apache.jackrabbit.core.persistence.bundle.util.TrackingInputStream; -import org.apache.jackrabbit.core.persistence.util.Serializer; import org.apache.jackrabbit.core.persistence.util.BLOBStore; import org.apache.jackrabbit.core.persistence.util.FileSystemBLOBStore; import org.apache.jackrabbit.core.NodeId; @@ -358,16 +357,16 @@ if (!initialized) { throw new IllegalStateException("not initialized"); } - InputStream in = null; + DataInputStream din = null; try { String path = buildNodeReferencesFilePath(null, targetId).toString(); if (!itemFs.exists(path)) { // special case throw new NoSuchItemStateException(targetId.toString()); } - in = itemFs.getInputStream(path); - NodeReferences refs = new NodeReferences(targetId); - Serializer.deserialize(refs, in); + din = new DataInputStream(itemFs.getInputStream(path)); + NodeReferences refs = binding.readState(din, targetId, this); + return refs; } catch (NoSuchItemStateException e) { throw e; @@ -376,7 +375,7 @@ BundleFsPersistenceManager.log.error(msg, e); throw new ItemStateException(msg, e); } finally { - IOUtils.closeQuietly(in); + IOUtils.closeQuietly(din); } } @@ -398,8 +397,9 @@ itemFs.createFolder(dir); } OutputStream out = itemFs.getOutputStream(fileName); - Serializer.serialize(refs, out); - out.close(); + DataOutputStream dout = new DataOutputStream(out); + binding.writeState(new DataOutputStream(out), refs); + dout.close(); } catch (Exception e) { String msg = "failed to write property state: " + refs.getTargetId(); BundleFsPersistenceManager.log.error(msg, e);