You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2009/06/09 11:13:26 UTC

svn commit: r782925 - in /jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit: name/ value/AbstractValueFactory.java value/NameValue.java value/PathValue.java value/ValueFactoryImpl.java

Author: angela
Date: Tue Jun  9 09:13:24 2009
New Revision: 782925

URL: http://svn.apache.org/viewvc?rev=782925&view=rev
Log:
JCR-2109: Remove deprecated classes in jcr-commons

Added:
    jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/AbstractValueFactory.java
      - copied, changed from r781342, jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/ValueFactoryImpl.java
Removed:
    jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/name/
Modified:
    jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/NameValue.java
    jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/PathValue.java
    jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/ValueFactoryImpl.java

Copied: jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/AbstractValueFactory.java (from r781342, jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/ValueFactoryImpl.java)
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/AbstractValueFactory.java?p2=jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/AbstractValueFactory.java&p1=jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/ValueFactoryImpl.java&r1=781342&r2=782925&rev=782925&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/ValueFactoryImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/AbstractValueFactory.java Tue Jun  9 09:13:24 2009
@@ -34,23 +34,33 @@
  *
  * @see javax.jcr.Session#getValueFactory()
  */
-public class ValueFactoryImpl implements ValueFactory {
-
-    private static final ValueFactory valueFactory = new ValueFactoryImpl();
+public abstract class AbstractValueFactory implements ValueFactory {
 
     /**
      * Constructs a <code>ValueFactory</code> object.
      */
-    protected ValueFactoryImpl() {
+    protected AbstractValueFactory() {
     }
 
-    //--------------------------------------------------------------------------
     /**
+     * Checks the format of the given string representing a path value.
+     * Implementations must assert that the given value is a valid jcr path.
      *
+     * @param pathValue
+     * @throws javax.jcr.ValueFormatException If the given <code>pathValue</code>
+     * isn't a valid jcr path.
      */
-    public static ValueFactory getInstance() {
-        return valueFactory;
-    }
+    protected abstract void checkPathFormat(String pathValue) throws ValueFormatException;
+
+    /**
+     * Checks the format of the given string representing a name value.
+     * Implementations must assert that the given value is a valid jcr name.
+     *
+     * @param nameValue
+     * @throws javax.jcr.ValueFormatException  If the given <code>pathValue</code>
+     * isn't a valid jcr name.
+     */
+    protected abstract void checkNameFormat(String nameValue) throws ValueFormatException;
 
     //---------------------------------------------------------< ValueFactory >
     /**
@@ -128,9 +138,11 @@
                 val = DateValue.valueOf(value);
                 break;
             case PropertyType.NAME:
+                checkNameFormat(value);
                 val = NameValue.valueOf(value);
                 break;
             case PropertyType.PATH:
+                checkPathFormat(value);
                 val = PathValue.valueOf(value);
                 break;
             case PropertyType.URI:
@@ -188,4 +200,4 @@
         }
     }
 
-}
+}
\ No newline at end of file

Modified: jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/NameValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/NameValue.java?rev=782925&r1=782924&r2=782925&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/NameValue.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/NameValue.java Tue Jun  9 09:13:24 2009
@@ -16,9 +16,6 @@
  */
 package org.apache.jackrabbit.value;
 
-import org.apache.jackrabbit.name.NameFormat;
-import org.apache.jackrabbit.name.IllegalNameException;
-
 import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
 import javax.jcr.ValueFormatException;
@@ -49,34 +46,7 @@
      *                              name.
      */
     public static NameValue valueOf(String s) throws ValueFormatException {
-        return valueOf(s, true);
-    }
-
-    /**
-     * Returns a new <code>NameValue</code> initialized to the value represented
-     * by the specified <code>String</code>.
-     * <p/>
-     * If <code>checkFormat</code> is <code>true</code> specified
-     * <code>String</code> must be a valid JCR name, otherwise the string is
-     * used as is.
-     *
-     * @param s           the string to be parsed.
-     * @param checkFormat if the format should be checked.
-     * @return a newly constructed <code>NameValue</code> representing the
-     *         specified value.
-     * @throws javax.jcr.ValueFormatException If the format should be checked
-     *                                        and the <code>String</code> is not
-     *                                        a valid name.
-     */
-    public static NameValue valueOf(String s, boolean checkFormat) throws ValueFormatException {
         if (s != null) {
-            if (checkFormat) {
-                try {
-                    NameFormat.checkFormat(s);
-                } catch (IllegalNameException ine) {
-                    throw new ValueFormatException(ine.getMessage());
-                }
-            }
             return new NameValue(s);
         } else {
             throw new ValueFormatException("not a valid name format: " + s);

Modified: jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/PathValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/PathValue.java?rev=782925&r1=782924&r2=782925&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/PathValue.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/PathValue.java Tue Jun  9 09:13:24 2009
@@ -16,9 +16,6 @@
  */
 package org.apache.jackrabbit.value;
 
-import org.apache.jackrabbit.name.MalformedPathException;
-import org.apache.jackrabbit.name.PathFormat;
-
 import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
 import javax.jcr.ValueFormatException;
@@ -51,11 +48,6 @@
      */
     public static PathValue valueOf(String s) throws ValueFormatException {
         if (s != null) {
-            try {
-                PathFormat.checkFormat(s);
-            } catch (MalformedPathException mpe) {
-                throw new ValueFormatException(mpe.getMessage());
-            }
             return new PathValue(s);
         } else {
             throw new ValueFormatException("not a valid path format: " + s);

Modified: jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/ValueFactoryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/ValueFactoryImpl.java?rev=782925&r1=782924&r2=782925&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/ValueFactoryImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/value/ValueFactoryImpl.java Tue Jun  9 09:13:24 2009
@@ -16,25 +16,16 @@
  */
 package org.apache.jackrabbit.value;
 
-import java.io.InputStream;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.util.Calendar;
-
-import javax.jcr.Binary;
-import javax.jcr.Node;
-import javax.jcr.PropertyType;
-import javax.jcr.RepositoryException;
-import javax.jcr.Value;
 import javax.jcr.ValueFactory;
 import javax.jcr.ValueFormatException;
 
 /**
- * This class implements the <code>ValueFactory</code> interface.
+ * Simple extension of the <code>AbstractValueFactory</code> that omits any
+ * validation checks for path and name values.
  *
  * @see javax.jcr.Session#getValueFactory()
  */
-public class ValueFactoryImpl implements ValueFactory {
+public class ValueFactoryImpl extends AbstractValueFactory {
 
     private static final ValueFactory valueFactory = new ValueFactoryImpl();
 
@@ -44,7 +35,6 @@
     protected ValueFactoryImpl() {
     }
 
-    //--------------------------------------------------------------------------
     /**
      *
      */
@@ -52,140 +42,17 @@
         return valueFactory;
     }
 
-    //---------------------------------------------------------< ValueFactory >
     /**
-     * {@inheritDoc}
+     * @see AbstractValueFactory#checkPathFormat(String)
      */
-    public Value createValue(boolean value) {
-        return new BooleanValue(value);
+    protected void checkPathFormat(String pathValue) throws ValueFormatException {
+        // ignore
     }
 
     /**
-     * {@inheritDoc}
+     * @see AbstractValueFactory#checkNameFormat(String)
      */
-    public Value createValue(Calendar value) {
-        return new DateValue(value);
+    protected void checkNameFormat(String nameValue) throws ValueFormatException {
+        // ignore
     }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Value createValue(double value) {
-        return new DoubleValue(value);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Value createValue(InputStream value) {
-        return new BinaryValue(value);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Value createValue(long value) {
-        return new LongValue(value);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Value createValue(Node value) throws RepositoryException {
-        return createValue(value, false);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Value createValue(String value) {
-        return new StringValue(value);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Value createValue(String value, int type)
-            throws ValueFormatException {
-        Value val;
-        switch (type) {
-            case PropertyType.STRING:
-                val = new StringValue(value);
-                break;
-            case PropertyType.BOOLEAN:
-                val = BooleanValue.valueOf(value);
-                break;
-            case PropertyType.DOUBLE:
-                val = DoubleValue.valueOf(value);
-                break;
-            case PropertyType.LONG:
-                val = LongValue.valueOf(value);
-                break;
-            case PropertyType.DECIMAL:
-                val = DecimalValue.valueOf(value);
-                break;
-            case PropertyType.DATE:
-                val = DateValue.valueOf(value);
-                break;
-            case PropertyType.NAME:
-                val = NameValue.valueOf(value);
-                break;
-            case PropertyType.PATH:
-                val = PathValue.valueOf(value);
-                break;
-            case PropertyType.URI:
-                val = URIValue.valueOf(value);
-                break;
-            case PropertyType.REFERENCE:
-                val = ReferenceValue.valueOf(value);
-                break;
-            case PropertyType.WEAKREFERENCE:
-                val = WeakReferenceValue.valueOf(value);
-                break;
-            case PropertyType.BINARY:
-                val = new BinaryValue(value);
-                break;
-            default:
-                throw new IllegalArgumentException("Invalid type constant: " + type);
-        }
-        return val;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Binary createBinary(InputStream stream) throws RepositoryException {
-        try {
-            return new BinaryImpl(stream);
-        } catch (IOException e) {
-            throw new RepositoryException("failed to create Binary instance", e);
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Value createValue(Binary value) {
-        return new BinaryValue(value);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Value createValue(BigDecimal value) {
-        return new DecimalValue(value);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Value createValue(Node node, boolean weak)
-            throws RepositoryException {
-        if (weak) {
-            return new WeakReferenceValue(node);
-        } else {
-            return new ReferenceValue(node);
-        }
-    }
-
 }