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/04 11:10:02 UTC
svn commit: r452804 -
/jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java
Author: angela
Date: Wed Oct 4 02:10:01 2006
New Revision: 452804
URL: http://svn.apache.org/viewvc?view=rev&rev=452804
Log:
assertion that target type is not UNDEFINED must be performed before qualified values are created.
Modified:
jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java
Modified: jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java?view=diff&rev=452804&r1=452803&r2=452804
==============================================================================
--- jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java (original)
+++ jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java Wed Oct 4 02:10:01 2006
@@ -1417,15 +1417,16 @@
throws ConstraintViolationException, RepositoryException {
QPropertyDefinition def = getApplicablePropertyDefinition(qName, type, true);
int targetType = def.getRequiredType();
+ // make sure, the final type is not set to undefined
if (targetType == PropertyType.UNDEFINED) {
- targetType = type;
+ if (type == PropertyType.UNDEFINED) {
+ targetType = (values.length > 0) ? values[0].getType() : PropertyType.STRING;
+ } else {
+ targetType = type;
+ }
}
Value[] targetValues = ValueHelper.convert(values, targetType, session.getValueFactory());
QValue[] qvs = ValueFormat.getQValues(targetValues, session.getNamespaceResolver());
- // make sure, the final type is not set to undefined
- if (targetType == PropertyType.UNDEFINED) {
- targetType = (qvs.length > 0) ? qvs[0].getType() : PropertyType.STRING;
- }
return createProperty(qName, targetType, def, qvs);
}