You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by th...@apache.org on 2007/09/12 11:03:15 UTC

svn commit: r574852 - /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/ItemStateBinding.java

Author: thomasm
Date: Wed Sep 12 02:03:14 2007
New Revision: 574852

URL: http://svn.apache.org/viewvc?rev=574852&view=rev
Log:
#15482 remove unused methods

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/ItemStateBinding.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/ItemStateBinding.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/ItemStateBinding.java?rev=574852&r1=574851&r2=574852&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/ItemStateBinding.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/ItemStateBinding.java Wed Sep 12 02:03:14 2007
@@ -16,38 +16,26 @@
  */
 package org.apache.jackrabbit.core.persistence.bundle.util;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.jackrabbit.core.persistence.util.BLOBStore;
-import org.apache.jackrabbit.core.persistence.util.ResourceBasedBLOBStore;
 import org.apache.jackrabbit.core.persistence.PersistenceManager;
 import org.apache.jackrabbit.core.state.NodeReferencesId;
 import org.apache.jackrabbit.core.state.NodeReferences;
 import org.apache.jackrabbit.core.state.NodeState;
-import org.apache.jackrabbit.core.state.PropertyState;
 import org.apache.jackrabbit.core.PropertyId;
 import org.apache.jackrabbit.core.NodeId;
-import org.apache.jackrabbit.core.value.InternalValue;
-import org.apache.jackrabbit.core.value.BLOBFileValue;
 import org.apache.jackrabbit.core.data.DataStore;
 import org.apache.jackrabbit.core.nodetype.NodeDefId;
-import org.apache.jackrabbit.core.nodetype.PropDefId;
 import org.apache.jackrabbit.name.QName;
 import org.apache.jackrabbit.uuid.UUID;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
-import java.io.EOFException;
 import java.io.IOException;
-import java.io.InputStream;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 
-import javax.jcr.PropertyType;
-import javax.jcr.RepositoryException;
-
 /**
  * This Class implements relatively efficient serialization methods for item
  * states.
@@ -58,11 +46,6 @@
     static final String CVS_ID = "$URL$ $Rev$ $Date$";
 
     /**
-     * default logger
-     */
-    private static Logger log = LoggerFactory.getLogger(ItemStateBinding.class);
-
-    /**
      * serialization version 1
      */
     public static final int VERSION_1 = 1;
@@ -271,216 +254,6 @@
             writeID(out, entry.getId());  // uuid
         }
         writeModCount(out, state.getModCount());
-    }
-
-    /**
-     * Deserializes a <code>PropertyState</code> from the data input stream.
-     *
-     * @param in the input stream
-     * @param id the id for the new property state
-     * @param pMgr the persistence manager
-     * @return the property state
-     * @throws IOException in an I/O error occurs.
-     */
-    public PropertyState readState(DataInputStream in, PropertyId id,
-                                   PersistenceManager pMgr)
-            throws IOException {
-        PropertyState state = pMgr.createNew(id);
-        // type and modcount
-        int type = in.readInt();
-        state.setModCount((short) ((type >> 16) & 0x0ffff));
-        type &= 0x0ffff;
-        state.setType(type);
-        // multiValued
-        state.setMultiValued(in.readBoolean());
-        // definitionId
-        state.setDefinitionId(PropDefId.valueOf(in.readUTF()));
-        // values
-        int count = in.readInt();   // count
-        InternalValue[] values = new InternalValue[count];
-        for (int i = 0; i < count; i++) {
-            InternalValue val;
-            switch (type) {
-                case PropertyType.BINARY:
-                    int size = in.readInt();
-                    if (InternalValue.USE_DATA_STORE && size == -2) {
-                        val = InternalValue.create(dataStore, in.readUTF());
-                    } else if (size == -1) {
-                        String s = in.readUTF();
-                        try {
-                            if (blobStore instanceof ResourceBasedBLOBStore) {
-                                val = InternalValue.create(
-                                        ((ResourceBasedBLOBStore) blobStore).getResource(s));
-                            } else {
-                                val = InternalValue.create(blobStore.get(s));
-                            }
-                        } catch (IOException e) {
-                            if (errorHandling.ignoreMissingBlobs()) {
-                                log.warn("Ignoring error while reading blob-resource: " + e);
-                                val = InternalValue.create(new byte[0]);
-                            } else {
-                                throw e;
-                            }
-                        } catch (Exception e) {
-                            throw new IOException("Unable to create property value: " + e.toString());
-                        }
-                    } else {
-                        // short values into memory
-                        byte[] data = new byte[size];
-                        in.readFully(data);
-                        val = InternalValue.create(data);
-                    }
-                    break;
-                case PropertyType.DOUBLE:
-                    val = InternalValue.create(in.readDouble());
-                    break;
-                case PropertyType.LONG:
-                    val = InternalValue.create(in.readLong());
-                    break;
-                case PropertyType.BOOLEAN:
-                    val = InternalValue.create(in.readBoolean());
-                    break;
-                case PropertyType.NAME:
-                    val = InternalValue.create(readQName(in));
-                    break;
-                case PropertyType.REFERENCE:
-                    val = InternalValue.create(readUUID(in));
-                    break;
-                default:
-                    // because writeUTF(String) has a size limit of 64k,
-                    // Strings are serialized as <length><byte[]>
-                    int len = in.readInt();
-                    byte[] bytes = new byte[len];
-                    int pos = 0;
-                    while (pos < len) {
-                        pos += in.read(bytes, pos, len - pos);
-                    }
-                    val = InternalValue.valueOf(new String(bytes, "UTF-8"), type);
-            }
-            values[i] = val;
-        }
-        state.setValues(values);
-        return state;
-    }
-
-    /**
-     * Serializes a <code>PropertyState</code> to the data output stream
-     * @param out the output stream
-     * @param state the property state to write
-     * @throws IOException in an I/O error occurs.
-     */
-    public void writeState(DataOutputStream out, PropertyState state)
-            throws IOException {
-        // type & mod count
-        out.writeInt(state.getType() | (state.getModCount() << 16));
-        // multiValued
-        out.writeBoolean(state.isMultiValued());
-        // definitionId
-        out.writeUTF(state.getDefinitionId().toString());
-        // values
-        InternalValue[] values = state.getValues();
-        out.writeInt(values.length); // count
-        for (int i = 0; i < values.length; i++) {
-            InternalValue val = values[i];
-            switch (state.getType()) {
-                case PropertyType.BINARY:
-                    try {
-                        if (InternalValue.USE_DATA_STORE && dataStore != null) {
-                            try {
-                                val.store(dataStore);
-                            } catch (RepositoryException e) {
-                                String msg = "Error while storing blob. id="
-                                    + state.getId() + " idx=" + i + " size=" + val.getBLOBFileValue().getLength();
-                                log.error(msg, e);
-                                throw new IOException(msg);                            
-                            }
-                            out.writeInt(-2);
-                            out.writeUTF(val.toString());
-                            break;
-                        }
-                        // special handling required for binary value:
-                        // spool binary value to file in blob store
-                        BLOBFileValue blobVal = val.getBLOBFileValue();
-                        long size = blobVal.getLength();
-                        if (size > minBlobSize) {
-                            out.writeInt(-1);
-                            InputStream in = blobVal.getStream();
-                            String blobId = blobStore.createId((PropertyId) state.getId(), i);
-                            try {
-                                blobStore.put(blobId, in, size);
-                            } finally {
-                                try {
-                                    in.close();
-                                } catch (IOException e) {
-                                    // ignore
-                                }
-                            }
-                            // store id of blob as property value
-                            out.writeUTF(blobId);   // value
-                            // replace value instance with value
-                            // backed by resource in blob store and delete temp file
-                            if (blobStore instanceof ResourceBasedBLOBStore) {
-                                values[i] = InternalValue.create(((ResourceBasedBLOBStore) blobStore).getResource(blobId));
-                            } else {
-                                values[i] = InternalValue.create(blobStore.get(blobId));
-                            }
-                            blobVal.discard();
-                        } else {
-                            // delete evt. blob
-                            out.writeInt((int) size);
-                            byte[] data = new byte[(int) size];
-                            InputStream in = blobVal.getStream();
-                            try {
-                                int pos = 0;
-                                while (pos < size) {
-                                    int n = in.read(data, pos, (int) size - pos);
-                                    if (n < 0) {
-                                        throw new EOFException();
-                                    }
-                                    pos += n;
-                                }
-                            } finally {
-                                try {
-                                    in.close();
-                                } catch (IOException e) {
-                                    // ignore
-                                }
-                            }
-                            out.write(data, 0, data.length);
-                            // replace value instance with value
-                            // backed by resource in blob store and delete temp file
-                            values[i] = InternalValue.create(data);
-                            blobVal.discard();
-                        }
-                    } catch (IOException e) {
-                        throw e;
-                    } catch (Exception e) {
-                        throw new IOException("Error converting: " + e.toString());
-                    }
-                    break;
-                case PropertyType.DOUBLE:
-                    out.writeDouble(val.getDouble());
-                    break;
-                case PropertyType.LONG:
-                    out.writeLong(val.getLong());
-                    break;
-                case PropertyType.BOOLEAN:
-                    out.writeBoolean(val.getBoolean());
-                    break;
-                case PropertyType.NAME:
-                    writeQName(out, val.getQName());
-                    break;
-                case PropertyType.REFERENCE:
-                    writeUUID(out, val.getUUID());
-                    break;
-                default:
-                    // because writeUTF(String) has a size limit of 64k,
-                    // we're using write(byte[]) instead
-                    byte[] bytes = val.toString().getBytes("UTF-8");
-                    out.writeInt(bytes.length); // lenght of byte[]
-                    out.write(bytes);   // byte[]
-            }
-        }
     }
 
     /**