Author: angela
Date: Wed Apr 20 20:50:29 2016
New Revision: 1740195
URL: http://svn.apache.org/viewvc?rev=1740195&view=rev
Log:
OAK-4261 : Add PropInfo.asPropertyState
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java?rev=1740195&r1=1740194&r2=1740195&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java
Wed Apr 20 20:50:29 2016
@@ -29,6 +29,8 @@ import javax.jcr.nodetype.PropertyDefini
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
+import org.apache.jackrabbit.oak.api.PropertyState;
+import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
import org.apache.jackrabbit.oak.plugins.nodetype.EffectiveNodeType;
/**
@@ -194,4 +196,15 @@ public class PropInfo {
}
return null;
}
+
+ public PropertyState asPropertyState(@Nonnull PropertyDefinition
propertyDefinition) throws RepositoryException {
+ List<Value> values = getValues(getTargetType(propertyDefinition));
+ PropertyState propertyState;
+ if (values.size() == 1 && !propertyDefinition.isMultiple()) {
+ propertyState = PropertyStates.createProperty(name, values.get(0));
+ } else {
+ propertyState = PropertyStates.createProperty(name, values);
+ }
+ return propertyState;
+ }
}
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java?rev=1740195&r1=1740194&r2=1740195&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java
Wed Apr 20 20:50:29 2016
@@ -34,7 +34,6 @@ import javax.jcr.ItemExistsException;
import javax.jcr.PathNotFoundException;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
-import javax.jcr.Value;
import javax.jcr.lock.LockException;
import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.nodetype.NodeDefinition;
@@ -189,19 +188,11 @@ public class ImporterImpl implements Imp
}
private void createProperty(Tree tree, PropInfo pInfo, PropertyDefinition
def) throws RepositoryException {
- List<Value> values = pInfo.getValues(pInfo.getTargetType(def));
- PropertyState propertyState;
- String name = pInfo.getName();
+ tree.setProperty(pInfo.asPropertyState(def));
int type = pInfo.getType();
- if (values.size() == 1 && !def.isMultiple()) {
- propertyState = PropertyStates.createProperty(name, values.get(0));
- } else {
- propertyState = PropertyStates.createProperty(name, values);
- }
- tree.setProperty(propertyState);
if (type == PropertyType.REFERENCE || type ==
PropertyType.WEAKREFERENCE) {
// store reference for later resolution
- refTracker.processedReference(new Reference(tree, name));
+ refTracker.processedReference(new Reference(tree,
pInfo.getName()));
}
}