You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2013/05/23 11:43:36 UTC

svn commit: r1485631 - /sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/resource/ResourceHelper.java

Author: stefanegli
Date: Thu May 23 09:43:36 2013
New Revision: 1485631

URL: http://svn.apache.org/r1485631
Log:
SLING-2879 : use ResourceUtil.getOrCreateResource instead of doing it yet again

Modified:
    sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/resource/ResourceHelper.java

Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/resource/ResourceHelper.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/resource/ResourceHelper.java?rev=1485631&r1=1485630&r2=1485631&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/resource/ResourceHelper.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/resource/ResourceHelper.java Thu May 23 09:43:36 2013
@@ -18,12 +18,9 @@
  */
 package org.apache.sling.discovery.impl.common.resource;
 
-import java.util.HashMap;
 import java.util.Iterator;
-import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
-import java.util.StringTokenizer;
 
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
@@ -32,6 +29,7 @@ import javax.jcr.Session;
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceUtil;
 import org.apache.sling.api.resource.ValueMap;
 
 /**
@@ -42,29 +40,16 @@ public class ResourceHelper {
     public static Resource getOrCreateResource(
             final ResourceResolver resourceResolver, final String path)
             throws PersistenceException {
-        Resource resource = resourceResolver.getResource(path);
-        if (resource == null) {
-            resource = createResource(resourceResolver, path);
-        }
-        return resource;
+    	return ResourceUtil.getOrCreateResource(resourceResolver, path, 
+    			(String)null, null, true);
     }
     
+    /**
+     * @deprecated use {@link #getOrCreateResource(ResourceResolver, String)} instead
+     */
     public static Resource createResource(final ResourceResolver resourceResolver,
             final String path) throws PersistenceException {
-        final StringTokenizer st = new StringTokenizer(path, "/");
-        Resource resource = resourceResolver.getResource("/");
-        while (st.hasMoreTokens()) {
-            String elem = st.nextToken();
-            Resource child = resource.getChild(elem);
-            if (child==null) {
-                Map<String, Object> properties = new HashMap<String, Object>();
-                properties.put("jcr:primaryType", "nt:unstructured");
-                child = resourceResolver.create(resource, elem, properties);
-            }
-            resource = child;
-        }
-        resourceResolver.commit();
-        return resourceResolver.getResource(path);
+    	return getOrCreateResource(resourceResolver, path);
     }
 
     /** Compile a stringbuffer containing the properties of a resource - used for logging **/