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 2006/07/24 16:53:01 UTC

svn commit: r425079 - in /jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr: DefaultItemCollection.java DefaultItemResource.java property/ValuesProperty.java search/SearchResultProperty.java

Author: angela
Date: Mon Jul 24 07:53:00 2006
New Revision: 425079

URL: http://svn.apache.org/viewvc?rev=425079&view=rev
Log:
remove usage of ValueFactoryImpl introduced with rev.424227 in order to
get rid of deprecated calls -> pass ValueFactory instead

Modified:
    jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemCollection.java
    jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemResource.java
    jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/property/ValuesProperty.java
    jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/search/SearchResultProperty.java

Modified: jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemCollection.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemCollection.java?rev=425079&r1=425078&r2=425079&view=diff
==============================================================================
--- jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemCollection.java (original)
+++ jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemCollection.java Mon Jul 24 07:53:00 2006
@@ -902,7 +902,7 @@
         try {
             Document reqBody = DomUtil.BUILDER_FACTORY.newDocumentBuilder().parse(in);
             DavProperty defaultProp = DefaultDavProperty.createFromXml(reqBody.getDocumentElement());
-            ValuesProperty vp = new ValuesProperty(defaultProp, PropertyType.STRING);
+            ValuesProperty vp = new ValuesProperty(defaultProp, PropertyType.STRING, getRepositorySession().getValueFactory());
             return vp;
         } catch (IOException e) {
             log.debug(errorMsg, e);

Modified: jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemResource.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemResource.java?rev=425079&r1=425078&r2=425079&view=diff
==============================================================================
--- jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemResource.java (original)
+++ jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/DefaultItemResource.java Mon Jul 24 07:53:00 2006
@@ -50,6 +50,7 @@
 import javax.jcr.RepositoryException;
 import javax.jcr.Value;
 import javax.jcr.ValueFormatException;
+import javax.jcr.ValueFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import java.io.InputStream;
 import java.io.IOException;
@@ -166,9 +167,10 @@
         try {
             Property prop = (Property) item;
             int defaultType = prop.getType();
-            ValuesProperty vp = new ValuesProperty(property, defaultType);
+            ValueFactory vfact = getRepositorySession().getValueFactory();
+            ValuesProperty vp = new ValuesProperty(property, defaultType, vfact);
             if (property.getName().equals(JCR_VALUE)) {
-                prop.setValue(vp.getJcrValue(vp.getValueType()));
+                prop.setValue(vp.getJcrValue(vp.getValueType(), vfact));
             } else if (property.getName().equals(JCR_VALUES)) {
                 prop.setValue(vp.getJcrValues());
             } else {

Modified: jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/property/ValuesProperty.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/property/ValuesProperty.java?rev=425079&r1=425078&r2=425079&view=diff
==============================================================================
--- jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/property/ValuesProperty.java (original)
+++ jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/property/ValuesProperty.java Mon Jul 24 07:53:00 2006
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.webdav.jcr.property;
 
-import org.apache.jackrabbit.value.ValueFactoryImpl;
 import org.apache.jackrabbit.value.ValueHelper;
 import org.apache.jackrabbit.webdav.DavException;
 import org.apache.jackrabbit.webdav.DavServletResponse;
@@ -34,6 +33,7 @@
 import javax.jcr.RepositoryException;
 import javax.jcr.Value;
 import javax.jcr.ValueFormatException;
+import javax.jcr.ValueFactory;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -79,8 +79,12 @@
      * @param defaultType default type of the values to be deserialized. If however
      * the {@link #XML_VALUE 'value'} elements provide a {@link #ATTR_VALUE_TYPE 'type'}
      * attribute, the default value is ignored.
+     * @param valueFactory Factory used to retrieve JCR values from the value
+     * of the given <code>DavProperty</code>.
      */
-    public ValuesProperty(DavProperty property, int defaultType) throws RepositoryException, DavException {
+    public ValuesProperty(DavProperty property, int defaultType,
+                          ValueFactory valueFactory)
+        throws RepositoryException, DavException {
         super(property.getName(), false);
 
         if (!(JCR_VALUES.equals(property.getName()) || JCR_VALUE.equals(getName()))) {
@@ -113,7 +117,7 @@
             Element[] elems = (Element[])valueElements.toArray(new Element[valueElements.size()]);
             jcrValues = new Value[elems.length];
             for (int i = 0; i < elems.length; i++) {
-                jcrValues[i] = getJcrValue(elems[i], defaultType);
+                jcrValues[i] = getJcrValue(elems[i], defaultType, valueFactory);
             }
         }
     }
@@ -136,7 +140,9 @@
      * @throws ValueFormatException
      * @throws RepositoryException
      */
-    private static Value getJcrValue(Element valueElement, int defaultType) throws ValueFormatException, RepositoryException {
+    private static Value getJcrValue(Element valueElement, int defaultType,
+                                     ValueFactory valueFactory)
+        throws ValueFormatException, RepositoryException {
         if (valueElement == null) {
             return null;
         }
@@ -145,7 +151,7 @@
         String typeStr = DomUtil.getAttribute(valueElement, ATTR_VALUE_TYPE, ItemResourceConstants.NAMESPACE);
         int type = (typeStr == null) ? defaultType : PropertyType.valueFromName(typeStr);
         // deserialize value ->> see #toXml where values are serialized
-        return ValueHelper.deserialize(value, type, true, ValueFactoryImpl.getInstance());
+        return ValueHelper.deserialize(value, type, true, valueFactory);
     }
 
     /**
@@ -155,11 +161,11 @@
      * @throws ValueFormatException if convertion of the internal jcr values to
      * the specified value type fails.
      */
-    public Value[] getJcrValues(int propertyType) throws ValueFormatException {
+    public Value[] getJcrValues(int propertyType, ValueFactory valueFactory) throws ValueFormatException {
         checkPropertyName(JCR_VALUES);
         Value[] vs = new Value[jcrValues.length];
         for (int i = 0; i < jcrValues.length; i++) {
-            vs[i] = ValueHelper.convert(jcrValues[i], propertyType, ValueFactoryImpl.getInstance());
+            vs[i] = ValueHelper.convert(jcrValues[i], propertyType, valueFactory);
         }
         return jcrValues;
     }
@@ -180,11 +186,11 @@
      * @return
      * @throws ValueFormatException
      */
-    public Value getJcrValue(int propertyType) throws ValueFormatException {
+    public Value getJcrValue(int propertyType, ValueFactory valueFactory) throws ValueFormatException {
         checkPropertyName(JCR_VALUE);
         return (jcrValues.length == 0)
                 ? null
-                : ValueHelper.convert(jcrValues[0], propertyType, ValueFactoryImpl.getInstance());
+                : ValueHelper.convert(jcrValues[0], propertyType, valueFactory);
     }
 
     /**

Modified: jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/search/SearchResultProperty.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/search/SearchResultProperty.java?rev=425079&r1=425078&r2=425079&view=diff
==============================================================================
--- jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/search/SearchResultProperty.java (original)
+++ jackrabbit/trunk/jcr-server/server/src/java/org/apache/jackrabbit/webdav/jcr/search/SearchResultProperty.java Mon Jul 24 07:53:00 2006
@@ -17,7 +17,6 @@
 package org.apache.jackrabbit.webdav.jcr.search;
 
 import org.apache.jackrabbit.value.ValueHelper;
-import org.apache.jackrabbit.value.ValueFactoryImpl;
 import org.apache.jackrabbit.webdav.jcr.ItemResourceConstants;
 import org.apache.jackrabbit.webdav.property.AbstractDavProperty;
 import org.apache.jackrabbit.webdav.property.DavProperty;
@@ -32,6 +31,7 @@
 import javax.jcr.RepositoryException;
 import javax.jcr.Value;
 import javax.jcr.ValueFormatException;
+import javax.jcr.ValueFactory;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -67,11 +67,13 @@
      * Wrap the specified <code>DavProperty</code> in a new <code>SearchResultProperty</code>.
      *
      * @param property
+     * @param valueFactory factory used to deserialize the xml value to a JCR value.
      * @throws RepositoryException if an error occurs while build the property value
      * @throws IllegalArgumentException if the specified property does have the
      * required form.
+     * @see #getValues()
      */
-    public SearchResultProperty(DavProperty property) throws RepositoryException {
+    public SearchResultProperty(DavProperty property, ValueFactory valueFactory) throws RepositoryException {
         super(property.getName(), true);
         if (!SEARCH_RESULT_PROPERTY.equals(getName())) {
 	    throw new IllegalArgumentException("SearchResultProperty may only be created from a property named " + SEARCH_RESULT_PROPERTY.toString());
@@ -85,11 +87,11 @@
             while (elemIt.hasNext()) {
                 Object el = elemIt.next();
                 if (el instanceof Element) {
-                    parseColumnElement((Element)el, colList, valList);
+                    parseColumnElement((Element)el, colList, valList, valueFactory);
                 }
             }
         } else if (propValue instanceof Element) {
-            parseColumnElement((Element)property.getValue(), colList, valList);
+            parseColumnElement((Element)property.getValue(), colList, valList, valueFactory);
         } else {
             new IllegalArgumentException("SearchResultProperty requires a list of 'dcr:column' xml elements.");
         }
@@ -98,7 +100,9 @@
         values = (Value[]) valList.toArray(new Value[valList.size()]);
     }
 
-    private void parseColumnElement(Element columnElement, List columnNames, List values) throws ValueFormatException, RepositoryException {
+    private void parseColumnElement(Element columnElement, List columnNames,
+                                    List values, ValueFactory valueFactory)
+        throws ValueFormatException, RepositoryException {
         if (!DomUtil.matches(columnElement, COLUMN, ItemResourceConstants.NAMESPACE)) {
             log.debug("dcr:column element expected within search result.");
             return;
@@ -110,7 +114,7 @@
         if (valueElement != null) {
             String typeStr = DomUtil.getAttribute(valueElement, ATTR_VALUE_TYPE, ItemResourceConstants.NAMESPACE);
             jcrValue = ValueHelper.deserialize(DomUtil.getText(valueElement),
-                    PropertyType.valueFromName(typeStr), true, ValueFactoryImpl.getInstance());
+                    PropertyType.valueFromName(typeStr), true, valueFactory);
         } else {
             jcrValue = null;
         }