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 15:14:58 UTC
svn commit: r762322 -
/jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientNode.java
Author: jukka
Date: Mon Apr 6 13:14:57 2009
New Revision: 762322
URL: http://svn.apache.org/viewvc?rev=762322&view=rev
Log:
JCRRMI-17: Multiple TCK test failures
Better handling of property removals through set-to-null calls.
Modified:
jackrabbit/commons/jcr-rmi/trunk/jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientNode.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=762322&r1=762321&r2=762322&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 13:14:57 2009
@@ -541,9 +541,15 @@
public Property setProperty(String name, Value[] values, int type)
throws RepositoryException {
try {
- Value[] serials = SerialValueFactory.makeSerialValueArray(values);
- RemoteProperty property = remote.setProperty(name, serials, type);
- return getFactory().getProperty(getSession(), property);
+ if (values != null) {
+ values = SerialValueFactory.makeSerialValueArray(values);
+ }
+ RemoteProperty property = remote.setProperty(name, values, type);
+ if (property != null) {
+ return getFactory().getProperty(getSession(), property);
+ } else {
+ return null;
+ }
} catch (RemoteException ex) {
throw new RemoteRepositoryException(ex);
}
@@ -553,18 +559,28 @@
public Property setProperty(String name, Value value, int type)
throws RepositoryException {
try {
- RemoteProperty property =
- remote.setProperty(name, SerialValueFactory.makeSerialValue(value), type);
- return getFactory().getProperty(getSession(), property);
+ if (value != null) {
+ value = SerialValueFactory.makeSerialValue(value);
+ }
+ RemoteProperty property = remote.setProperty(name, value, type);
+ if (property != null) {
+ return getFactory().getProperty(getSession(), property);
+ } else {
+ return null;
+ }
} catch (RemoteException ex) {
throw new RemoteRepositoryException(ex);
}
}
/** {@inheritDoc} */
- public Property setProperty(String name, String value, int type)
+ public Property setProperty(String name, String string, int type)
throws RepositoryException {
- return setProperty(name, getSession().getValueFactory().createValue(value), type);
+ Value value = null;
+ if (string != null) {
+ value = getSession().getValueFactory().createValue(string);
+ }
+ return setProperty(name, value, type);
}
/** {@inheritDoc} */