You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2008/08/06 14:18:10 UTC
svn commit: r683244 - in
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state:
ItemState.java NodeState.java PropertyState.java
Author: mreutegg
Date: Wed Aug 6 05:18:08 2008
New Revision: 683244
URL: http://svn.apache.org/viewvc?rev=683244&view=rev
Log:
JCR-1709: Remove Serializable on ItemState classes
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemState.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/PropertyState.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemState.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemState.java?rev=683244&r1=683243&r2=683244&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemState.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemState.java Wed Aug 6 05:18:08 2008
@@ -21,18 +21,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-
/**
* <code>ItemState</code> represents the state of an <code>Item</code>.
*/
-public abstract class ItemState implements Serializable {
-
- /** Serialization UID of this class. */
- static final long serialVersionUID = -1473610775880779769L;
+public abstract class ItemState {
/**
* Logger instance
@@ -87,12 +79,12 @@
/**
* Parent container.
*/
- private transient ItemStateListener container;
+ private ItemStateListener container;
/**
* the backing persistent item state (may be null)
*/
- protected transient ItemState overlayedState;
+ protected ItemState overlayedState;
/**
* Constructs a new unconnected item state
@@ -429,15 +421,4 @@
* @return the approximate memory consumption of this state.
*/
public abstract long calculateMemoryFootprint();
-
- //-------------------------------------------------< Serializable support >
- private void writeObject(ObjectOutputStream out) throws IOException {
- // delegate to default implementation
- out.defaultWriteObject();
- }
-
- private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
- // delegate to default implementation
- in.defaultReadObject();
- }
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java?rev=683244&r1=683243&r2=683244&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java Wed Aug 6 05:18:08 2008
@@ -23,12 +23,7 @@
import org.apache.jackrabbit.core.NodeId;
import org.apache.jackrabbit.core.nodetype.NodeDefId;
import org.apache.jackrabbit.spi.Name;
-import org.apache.jackrabbit.spi.commons.name.NameFactoryImpl;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -46,11 +41,6 @@
public class NodeState extends ItemState {
/**
- * Serialization UID of this class.
- */
- static final long serialVersionUID = 4392375681805781770L;
-
- /**
* the name of this node's primary type
*/
private Name nodeTypeName;
@@ -959,18 +949,6 @@
}
}
- //-------------------------------------------------< Serializable support >
- private void writeObject(ObjectOutputStream out) throws IOException {
- // delegate to default implementation
- out.defaultWriteObject();
- }
-
- private void readObject(ObjectInputStream in)
- throws IOException, ClassNotFoundException {
- // delegate to default implementation
- in.defaultReadObject();
- }
-
//--------------------------------------------------------< inner classes >
/**
* <code>ChildNodeEntries</code> represents an insertion-ordered
@@ -980,7 +958,7 @@
* <code>ChildNodeEntries</code> also provides an unmodifiable
* <code>List</code> view.
*/
- private static class ChildNodeEntries implements List, Cloneable, Serializable {
+ private static class ChildNodeEntries implements List, Cloneable {
// insertion-ordered map of entries (key=NodeId, value=entry)
private LinkedMap entries;
@@ -1375,32 +1353,6 @@
throw new UnsupportedOperationException();
}
- //---------------------------------------------< Serializable support >
- private void writeObject(ObjectOutputStream out) throws IOException {
- // important: fields must be written in same order as they are
- // read in readObject(ObjectInputStream)
- out.writeShort(size()); // count
- for (Iterator iter = iterator(); iter.hasNext();) {
- NodeState.ChildNodeEntry entry =
- (NodeState.ChildNodeEntry) iter.next();
- out.writeUTF(entry.getName().toString()); // name
- out.writeUTF(entry.getId().toString()); // id
- }
- }
-
- private void readObject(ObjectInputStream in) throws IOException {
- entries = new LinkedMap();
- nameMap = new HashMap();
- // important: fields must be read in same order as they are
- // written in writeObject(ObjectOutputStream)
- short count = in.readShort(); // count
- for (int i = 0; i < count; i++) {
- Name name = NameFactoryImpl.getInstance().create(in.readUTF()); // name
- String s = in.readUTF(); // id
- add(name, NodeId.valueOf(s));
- }
- }
-
//------------------------------------------------< Cloneable support >
/**
* Returns a shallow copy of this <code>ChildNodeEntries</code> instance;
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/PropertyState.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/PropertyState.java?rev=683244&r1=683243&r2=683244&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/PropertyState.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/PropertyState.java Wed Aug 6 05:18:08 2008
@@ -16,37 +16,20 @@
*/
package org.apache.jackrabbit.core.state;
-import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.core.PropertyId;
import org.apache.jackrabbit.core.NodeId;
import org.apache.jackrabbit.core.ItemId;
import org.apache.jackrabbit.core.nodetype.PropDefId;
-import org.apache.jackrabbit.core.value.BLOBFileValue;
import org.apache.jackrabbit.core.value.InternalValue;
import org.apache.jackrabbit.spi.Name;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import javax.jcr.PropertyType;
-import javax.jcr.RepositoryException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
/**
* <code>PropertyState</code> represents the state of a <code>Property</code>.
*/
public class PropertyState extends ItemState {
- /** Logger instance */
- private static Logger log = LoggerFactory.getLogger(PropertyState.class);
-
- /**
- * Serialization UID of this class.
- */
- static final long serialVersionUID = 90076676913237139L;
-
/**
* the id of this property state
*/
@@ -254,120 +237,4 @@
*/
return 350 + values.length * 100;
}
-
- //-------------------------------------------------< Serializable support >
- private void writeObject(ObjectOutputStream out) throws IOException {
- // important: fields must be written in same order as they are
- // read in readObject(ObjectInputStream)
- out.writeUTF(id.toString());
- out.writeUTF(defId.toString());
- out.writeInt(type);
- out.writeBoolean(multiValued);
- if (values == null) {
- out.writeShort(-1);
- } else {
- out.writeShort(values.length);
- for (int i = 0; i < values.length; i++) {
- InternalValue val = values[i];
- try {
- if (type == PropertyType.BINARY) {
- // special handling required for binary value
- BLOBFileValue blob = val.getBLOBFileValue();
- out.writeLong(blob.getLength());
- InputStream in = blob.getStream();
- try {
- IOUtils.copy(in, out);
- } finally {
- in.close();
- }
- } else {
- out.writeUTF(val.toString());
- }
- } catch (IllegalStateException ise) {
- throw new IOException(ise.getMessage());
- } catch (RepositoryException re) {
- throw new IOException(re.getMessage());
- }
- }
- }
- }
-
- private void readObject(ObjectInputStream in) throws IOException {
- // important: fields must be read in same order as they are
- // written in writeObject(ObjectOutputStream)
- id = PropertyId.valueOf(in.readUTF());
- defId = PropDefId.valueOf(in.readUTF());
- type = in.readInt();
- multiValued = in.readBoolean();
- short count = in.readShort(); // # of values
- if (count < 0) {
- values = null;
- } else {
- values = new InternalValue[count];
- for (int i = 0; i < values.length; i++) {
- if (type == PropertyType.BINARY) {
- // special handling required for binary value
- final long length = in.readLong();
- final InputStream stream = in;
- // create InputStream wrapper of size 'length'
- try {
- values[i] = createInternalValueFromInputStream(stream, length);
- } catch (RepositoryException e) {
- String msg = "Failed to create internal value: " + e.getMessage();
- log.error(msg, e);
- throw new IOException(msg);
- }
-
- } else {
- values[i] = InternalValue.valueOf(in.readUTF(), type);
- }
- }
- }
- }
-
- private InternalValue createInternalValueFromInputStream(
- final InputStream stream, final long length)
- throws RepositoryException {
- return InternalValue.create(new InputStream() {
-
- private long consumed = 0;
-
- public int read() throws IOException {
- if (consumed >= length) {
- return -1; // eof
- }
- int b = stream.read();
- consumed++;
- return b;
- }
-
- public int read(byte[] b, int off, int len) throws IOException {
- if (consumed >= length) {
- return -1; // eof
- }
- if ((consumed + len) > length) {
- len = (int) (length - consumed);
- }
- int read = stream.read(b, off, len);
- consumed += read;
- return read;
- }
-
- public long skip(long n) throws IOException {
- if (consumed >= length && n > 0) {
- return -1; // eof
- }
- if ((consumed + n) > length) {
- n = length - consumed;
- }
- long skipped = stream.skip(n);
- consumed += skipped;
- return skipped;
- }
-
- public void close() {
- // nop
- }
- });
- }
}