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/16 11:17:07 UTC

svn commit: r464424 - /jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/operation/SetPropertyValue.java

Author: angela
Date: Mon Oct 16 02:17:06 2006
New Revision: 464424

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

- purge values array

Modified:
    jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/operation/SetPropertyValue.java

Modified: jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/operation/SetPropertyValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/operation/SetPropertyValue.java?view=diff&rev=464424&r1=464423&r2=464424
==============================================================================
--- jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/operation/SetPropertyValue.java (original)
+++ jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/operation/SetPropertyValue.java Mon Oct 16 02:17:06 2006
@@ -28,6 +28,8 @@
 import javax.jcr.version.VersionException;
 import javax.jcr.lock.LockException;
 import javax.jcr.nodetype.ConstraintViolationException;
+import java.util.List;
+import java.util.ArrayList;
 
 /**
  * <code>SetPropertyValue</code>...
@@ -42,7 +44,7 @@
         this.propertyState = propertyState;
         this.propertyType = propertyType;
         this.values = values;
-        
+
         addAffectedItemState(propertyState);
     }
 
@@ -69,9 +71,17 @@
     }
 
     //------------------------------------------------------------< Factory >---
-    public static Operation create(PropertyState propState, QValue[] iva,
+    public static Operation create(PropertyState propState, QValue[] qValues,
                                    int valueType) {
-        SetPropertyValue sv = new SetPropertyValue(propState, valueType, iva);
+        // compact array (purge null entries)
+        List list = new ArrayList();
+        for (int i = 0; i < qValues.length; i++) {
+            if (qValues[i] != null) {
+                list.add(qValues[i]);
+            }
+        }
+        QValue[] cleanValues = (QValue[]) list.toArray(new QValue[list.size()]);
+        SetPropertyValue sv = new SetPropertyValue(propState, valueType, cleanValues);
         return sv;
     }
 }