You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:47:43 UTC

[sling-org-apache-sling-jcr-contentloader] 03/28: SLING-1395 - adding support for multi-valued properties

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.contentloader-2.1.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-contentloader.git

commit 7e16c918135f85a65971ec33ec39014baecb7fdb
Author: Justin Edelson <ju...@apache.org>
AuthorDate: Fri Feb 19 02:46:55 2010 +0000

    SLING-1395 - adding support for multi-valued properties
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/contentloader@911681 13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/jcr/contentloader/internal/DefaultContentCreator.java     | 6 +++++-
 .../apache/sling/jcr/contentloader/internal/readers/JsonReader.java | 6 ++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java b/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java
index 961cdf1..eecb203 100644
--- a/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java
+++ b/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java
@@ -388,7 +388,11 @@ public class DefaultContentCreator implements ContentCreator {
             }
 
         } else {
-            node.setProperty(name, values, propertyType);
+            if (propertyType == PropertyType.UNDEFINED) {
+                node.setProperty(name, values);
+            } else {
+                node.setProperty(name, values, propertyType);
+            }
         }
     }
 
diff --git a/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java b/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java
index 1e65518..b2bb316 100644
--- a/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java
+++ b/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java
@@ -92,6 +92,8 @@ public class JsonReader implements ContentReader {
     private static final Pattern jsonDate = Pattern.compile("^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}[-+]{1}[0-9]{2}[:]{0,1}[0-9]{2}$");
     private static final String REFERENCE = "jcr:reference:";
     private static final String PATH = "jcr:path:";
+    private static final String NAME = "jcr:name:";
+    private static final String URI = "jcr:uri:";
 
     private static final Set<String> ignoredNames = new HashSet<String>();
     static {
@@ -235,6 +237,8 @@ public class JsonReader implements ContentReader {
         } else if (object instanceof String) {
             if (name.startsWith(REFERENCE)) return PropertyType.REFERENCE;
             if (name.startsWith(PATH)) return PropertyType.PATH;
+            if (name.startsWith(NAME)) return PropertyType.NAME;
+            if (name.startsWith(URI)) return PropertyType.URI;
             if (jsonDate.matcher((String) object).matches()) return PropertyType.DATE;
         }
 
@@ -245,6 +249,8 @@ public class JsonReader implements ContentReader {
     protected String getName(String name) {
         if (name.startsWith(REFERENCE)) return name.substring(REFERENCE.length());
         if (name.startsWith(PATH)) return name.substring(PATH.length());
+        if (name.startsWith(NAME)) return name.substring(NAME.length());
+        if (name.startsWith(URI)) return name.substring(URI.length());
         return name;
     }
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.