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()));
         }
     }
 


Reply via email to