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/10/17 09:00:01 UTC

svn commit: r464839 - /jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/QPropertyDefinitionImpl.java

Author: angela
Date: Tue Oct 17 00:00:00 2006
New Revision: 464839

URL: http://svn.apache.org/viewvc?view=rev&rev=464839
Log:
work in progress

resolve todo

Modified:
    jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/QPropertyDefinitionImpl.java

Modified: jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/QPropertyDefinitionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/QPropertyDefinitionImpl.java?view=diff&rev=464839&r1=464838&r2=464839
==============================================================================
--- jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/QPropertyDefinitionImpl.java (original)
+++ jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/QPropertyDefinitionImpl.java Tue Oct 17 00:00:00 2006
@@ -23,6 +23,9 @@
 import org.apache.jackrabbit.webdav.xml.DomUtil;
 import org.apache.jackrabbit.webdav.xml.ElementIterator;
 import org.apache.jackrabbit.value.ValueFormat;
+import org.apache.jackrabbit.value.QValue;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
@@ -38,6 +41,11 @@
 public class QPropertyDefinitionImpl extends QItemDefinitionImpl implements QPropertyDefinition {
 
     /**
+     * Logger instance for this class
+     */
+    private static Logger log = LoggerFactory.getLogger(QPropertyDefinitionImpl.class);
+
+    /**
      * The required type.
      */
     private final int requiredType;
@@ -50,7 +58,7 @@
     /**
      * The default values.
      */
-    private final String[] defaultValues;
+    private final QValue[] defaultValues;
 
     /**
      * The 'multiple' flag
@@ -80,15 +88,15 @@
 
         Element child = DomUtil.getChildElement(pdefElement, DEFAULTVALUES_ELEMENT, null);
         if (child == null) {
-            defaultValues = new String[0];
+            defaultValues = new QValue[0];
         } else {
             List vs = new ArrayList();
             ElementIterator it = DomUtil.getChildren(child, DEFAULTVALUE_ELEMENT, null);
             while (it.hasNext()) {
-                String qValue = ValueFormat.getQValue(DomUtil.getText(it.nextElement()), requiredType, nsResolver).getString();
+                QValue qValue = ValueFormat.getQValue(DomUtil.getText(it.nextElement()), requiredType, nsResolver);
                 vs.add(qValue);
             }
-            defaultValues = (String[]) vs.toArray(new String[vs.size()]);
+            defaultValues = (QValue[]) vs.toArray(new QValue[vs.size()]);
         }
 
         child = DomUtil.getChildElement(pdefElement, VALUECONSTRAINTS_ELEMENT, null);
@@ -128,12 +136,27 @@
      * {@inheritDoc}
      */
     public String[] getDefaultValues() {
-        return defaultValues;
+        String[] strs = new String[defaultValues.length];
+        for (int i = 0; i < defaultValues.length; i++) {
+            try {
+                strs[i] = defaultValues[i].getString();
+            } catch (RepositoryException e) {
+                log.error("Internal error while retrieving default values.", e);
+            }
+        }
+        return strs;
     }
 
     public InputStream[] getDefaultValuesAsStream() {
-        // todo: implementation missing
-        return null;
+        InputStream[] ins = new InputStream[defaultValues.length];
+        for (int i = 0; i < defaultValues.length; i++) {
+            try {
+                ins[i] = defaultValues[i].getStream();
+            } catch (RepositoryException e) {
+                log.error("Internal error while retrieving default values.", e);
+            }
+        }
+        return ins;
     }
 
     /**