You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2009/04/06 14:37:51 UTC
svn commit: r762311 - in
/jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client:
ClientNode.java ClientProperty.java
Author: jukka
Date: Mon Apr 6 12:37:51 2009
New Revision: 762311
URL: http://svn.apache.org/viewvc?rev=762311&view=rev
Log:
JCRRMI-17: Multiple TCK test failures
Multivalued setValue() calls may contain null entries in the value array. Skip those already on the client side.
Modified:
jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientNode.java
jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientProperty.java
Modified: jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientNode.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientNode.java?rev=762311&r1=762310&r2=762311&view=diff
==============================================================================
--- jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientNode.java (original)
+++ jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientNode.java Mon Apr 6 12:37:51 2009
@@ -18,7 +18,9 @@
import java.io.InputStream;
import java.rmi.RemoteException;
+import java.util.ArrayList;
import java.util.Calendar;
+import java.util.List;
import javax.jcr.Item;
import javax.jcr.ItemVisitor;
@@ -155,11 +157,15 @@
if (strings == null) {
return setProperty(name, (Value[]) null);
} else {
- Value[] values = new Value[strings.length];
+ List values = new ArrayList();
for (int i = 0; i < strings.length; i++) {
- values[i] = getSession().getValueFactory().createValue(strings[i]);
+ if (strings[i] != null) {
+ values.add(getSession().getValueFactory().createValue(
+ strings[i]));
+ }
}
- return setProperty(name, values);
+ return setProperty(
+ name, (Value[]) values.toArray(new Value[values.size()]));
}
}
Modified: jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientProperty.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientProperty.java?rev=762311&r1=762310&r2=762311&view=diff
==============================================================================
--- jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientProperty.java (original)
+++ jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientProperty.java Mon Apr 6 12:37:51 2009
@@ -18,7 +18,9 @@
import java.io.InputStream;
import java.rmi.RemoteException;
+import java.util.ArrayList;
import java.util.Calendar;
+import java.util.List;
import javax.jcr.ItemNotFoundException;
import javax.jcr.ItemVisitor;
@@ -28,6 +30,7 @@
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.Value;
+import javax.jcr.ValueFactory;
import javax.jcr.ValueFormatException;
import javax.jcr.nodetype.PropertyDefinition;
@@ -247,11 +250,14 @@
if (strings == null) {
setValue((Value[]) null);
} else {
- Value[] values = new Value[strings.length];
+ ValueFactory factory = getSession().getValueFactory();
+ List values = new ArrayList(strings.length);
for (int i = 0; i < strings.length; i++) {
- values[i] = getSession().getValueFactory().createValue(strings[i]);
+ if (strings[i] != null) {
+ values.add(factory.createValue(strings[i]));
+ }
}
- setValue(values);
+ setValue((Value[]) values.toArray(new Value[values.size()]));
}
}