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 2009/06/11 16:21:39 UTC

svn commit: r783786 - in /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core: nodetype/ persistence/bundle/util/ query/lucene/ value/ version/

Author: thomasm
Date: Thu Jun 11 14:21:39 2009
New Revision: 783786

URL: http://svn.apache.org/viewvc?rev=783786&view=rev
Log:
JCR-2144 InternalValue refactoring

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/ValueConstraint.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/BundleBinding.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBFileValue.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInDataStore.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInMemory.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInResource.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInTempFile.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBValue.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalFrozenNodeImpl.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/ValueConstraint.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/ValueConstraint.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/ValueConstraint.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/ValueConstraint.java Thu Jun 11 14:21:39 2009
@@ -636,7 +636,7 @@
         }
         switch (value.getType()) {
             case PropertyType.NAME:
-                Name n = value.getQName();
+                Name n = value.getName();
                 if (!name.equals(n)) {
                     throw new ConstraintViolationException(n
                             + " does not satisfy the constraint '"

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/BundleBinding.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/BundleBinding.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/BundleBinding.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/BundleBinding.java Thu Jun 11 14:21:39 2009
@@ -713,7 +713,12 @@
                     }
                     break;
                 case PropertyType.NAME:
-                    writeQName(out, val.getQName());
+                    try {
+                        writeQName(out, val.getName());
+                    } catch (RepositoryException e) {
+                        // should never occur
+                        throw new IOException("Unexpected error while writing NAME value.");
+                    }
                     break;
                 case PropertyType.WEAKREFERENCE:
                 case PropertyType.REFERENCE:

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java Thu Jun 11 14:21:39 2009
@@ -360,7 +360,7 @@
                 if (name.equals(NameConstants.JCR_PRIMARYTYPE)
                         || name.equals(NameConstants.JCR_MIXINTYPES)
                         || isIndexed(name)) {
-                    addNameValue(doc, fieldName, value.getQName());
+                    addNameValue(doc, fieldName, value.getName());
                 }
                 break;
             case PropertyType.DECIMAL:

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBFileValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBFileValue.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBFileValue.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBFileValue.java Thu Jun 11 14:21:39 2009
@@ -18,14 +18,12 @@
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.UnsupportedEncodingException;
 
 import javax.jcr.RepositoryException;
 import javax.jcr.Binary;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.core.data.DataIdentifier;
 
 /**
@@ -46,7 +44,7 @@
      * @return String representation of this value.
      * @throws RepositoryException
      */
-    public String getString() throws RepositoryException {
+    String getString() throws RepositoryException {
         // TODO: review again. currently the getString method of the JCR Value is delegated to the QValue.
         InputStream stream = getStream();
         try {
@@ -105,7 +103,7 @@
      *
      * @return true if the object is immutable
      */
-    public abstract boolean isImmutable();
+    abstract boolean isImmutable();
 
     /**
      * {@inheritDoc}
@@ -117,24 +115,6 @@
      */
     public abstract String toString();
 
-    /*
-     * Spools the contents of this <code>BLOBFileValue</code> to the given
-     * output stream.
-     *
-     * @param out output stream
-     * @throws RepositoryException if the input stream for this
-     *                             <code>BLOBFileValue</code> could not be obtained
-     * @throws IOException         if an error occurs while while spooling
-     */
-    public void spool(OutputStream out) throws RepositoryException, IOException {
-        InputStream in = getStream();
-        try {
-            IOUtils.copy(in, out);
-        } finally {
-            IOUtils.closeQuietly(in);
-        }
-    }
-
     /**
      * {@inheritDoc}
      */
@@ -147,13 +127,13 @@
      * @return true if the value is small
      */
     public abstract boolean isSmall();
-    
+
     /**
      * Get the data identifier if one is available.
-     * 
+     *
      * @return the data identifier or null
      */
-    public DataIdentifier getDataIdentifier() {
+    DataIdentifier getDataIdentifier() {
         return null;
     }
 

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInDataStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInDataStore.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInDataStore.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInDataStore.java Thu Jun 11 14:21:39 2009
@@ -60,15 +60,12 @@
     public void discard() {
         // do nothing
     }
-    
+
     public DataIdentifier getDataIdentifier() {
         return identifier;
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isImmutable() {
+    boolean isImmutable() {
         return true;
     }
 
@@ -113,7 +110,7 @@
         DataIdentifier identifier = new DataIdentifier(id);
         return new BLOBInDataStore(store, identifier);
     }
-    
+
     static BLOBInDataStore getInstance(DataStore store, DataIdentifier identifier) {
         return new BLOBInDataStore(store, identifier);
     }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInMemory.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInMemory.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInMemory.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInMemory.java Thu Jun 11 14:21:39 2009
@@ -135,10 +135,7 @@
         // the data will be garbage collected
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isImmutable() {
+    boolean isImmutable() {
         return true;
     }
 

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInResource.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInResource.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInResource.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInResource.java Thu Jun 11 14:21:39 2009
@@ -102,10 +102,7 @@
         // this instance is not backed by temporarily allocated resource/buffer
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isImmutable() {
+    boolean isImmutable() {
         // delete will modify the state.
         return false;
     }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInTempFile.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInTempFile.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInTempFile.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBInTempFile.java Thu Jun 11 14:21:39 2009
@@ -123,10 +123,7 @@
         }
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isImmutable() {
+    boolean isImmutable() {
         // discard and delete can modify the state.
         return false;
     }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBValue.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBValue.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/BLOBValue.java Thu Jun 11 14:21:39 2009
@@ -285,10 +285,7 @@
         }
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isImmutable() {
+    boolean isImmutable() {
         // delete will modify the state
         return false;
     }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java Thu Jun 11 14:21:39 2009
@@ -147,13 +147,13 @@
                         }
                     }
                     if (blob == null) {
-                        blob = getBLOBFileValue(store, value.getStream(), true);
+                        blob = getBLOBFileValue(store, value.getBinary().getStream(), true);
                     }
                     result = new InternalValue(blob);
                 } else if (value instanceof BLOBFileValue) {
                     result = new InternalValue((BLOBFileValue) value);
                 } else {
-                    InputStream stream = value.getStream();
+                    InputStream stream = value.getBinary().getStream();
                     try {
                         result = createTemporary(stream);
                     } finally {
@@ -217,7 +217,7 @@
                 throw new IllegalArgumentException("illegal value");
         }
     }
-    
+
     static InternalValue getInternalValue(DataIdentifier identifier, DataStore store) throws DataStoreException {
         // access the record to ensure it is not garbage collected
         if (store.getRecordIfStored(identifier) != null) {
@@ -315,32 +315,12 @@
     }
 
     /**
-     * Create an internal value that is backed by a temporary file
-     * (if data store usage is disabled or the store is null)
-     * or in the data store if it is not null and enabled.
-     *
-     * @param value the stream
-     * @param store the data store or null to use a temporary file
-     * @return the internal value
-     */
-    public static InternalValue createTemporary(InputStream value, DataStore store) throws RepositoryException {
-        if (USE_DATA_STORE) {
-            return new InternalValue(getBLOBFileValue(store, value, true));
-        }
-        try {
-            return new InternalValue(new BLOBValue(value, true));
-        } catch (IOException e) {
-            throw new RepositoryException("Error creating temporary file", e);
-        }
-    }
-
-    /**
      * Create an internal value that is stored in the data store (if enabled).
-     * 
+     *
      * @param value the input stream
      * @return the internal value
      */
-    public static InternalValue create(InputStream value, DataStore store) throws RepositoryException {
+    static InternalValue create(InputStream value, DataStore store) throws RepositoryException {
         if (USE_DATA_STORE) {
             return new InternalValue(getBLOBFileValue(store, value, false));
         }
@@ -508,14 +488,6 @@
         }
     }
 
-    /**
-     * @deprecated
-     * @return the internal object
-     */
-    public Object internalValue() {
-        return val;
-    }
-
     public BLOBFileValue getBLOBFileValue() {
         assert val != null && type == PropertyType.BINARY;
         return (BLOBFileValue) val;
@@ -526,11 +498,6 @@
         return (UUID) val;
     }
 
-    public Name getQName() {
-        assert val != null && type == PropertyType.NAME;
-        return (Name) val;
-    }
-
     public Calendar getDate() {
         assert val != null && type == PropertyType.DATE;
         return (Calendar) val;

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalFrozenNodeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalFrozenNodeImpl.java?rev=783786&r1=783785&r2=783786&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalFrozenNodeImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalFrozenNodeImpl.java Thu Jun 11 14:21:39 2009
@@ -123,7 +123,7 @@
                 }
             } else if (prop.getName().equals(NameConstants.JCR_FROZENPRIMARYTYPE)) {
                 // special property
-                frozenPrimaryType = node.getPropertyValue(NameConstants.JCR_FROZENPRIMARYTYPE).getQName();
+                frozenPrimaryType = node.getPropertyValue(NameConstants.JCR_FROZENPRIMARYTYPE).getName();
             } else if (prop.getName().equals(NameConstants.JCR_FROZENMIXINTYPES)) {
                 // special property
                 InternalValue[] values = node.getPropertyValues(NameConstants.JCR_FROZENMIXINTYPES);
@@ -132,7 +132,7 @@
                 } else {
                     frozenMixinTypes = new Name[values.length];
                     for (int j = 0; j < values.length; j++) {
-                        frozenMixinTypes[j] = values[j].getQName();
+                        frozenMixinTypes[j] = values[j].getName();
                     }
                 }
             } else if (prop.getName().equals(NameConstants.JCR_PRIMARYTYPE)) {