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:46:40 UTC
[sling-org-apache-sling-jcr-contentloader] 14/36: Create path if it
is not existend
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.0.4-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-contentloader.git
commit bb27019a34f4e478488f93dd791e8b8fe3d95116
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Jun 25 15:52:27 2008 +0000
Create path if it is not existend
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/contentloader@671589 13f79535-47bb-0310-9956-ffa450edef68
---
.../apache/sling/jcr/contentloader/internal/Loader.java | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java b/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java
index fa7c191..46af1f8 100644
--- a/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java
+++ b/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java
@@ -35,6 +35,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.StringTokenizer;
import javax.jcr.InvalidSerializedDataException;
import javax.jcr.Item;
@@ -557,9 +558,21 @@ public class Loader {
int firstSlash = path.indexOf("/");
- // it´s a relative path
+ // it's a relative path
if (firstSlash != 0) path = "/" + path;
+ if ( !session.itemExists(path) ) {
+ Node currentNode = session.getRootNode();
+ final StringTokenizer st = new StringTokenizer(path.substring(1), "/");
+ while ( st.hasMoreTokens() ) {
+ final String name = st.nextToken();
+ if ( !currentNode.hasNode(name) ) {
+ currentNode.addNode(name, "nt:folder");
+ }
+ currentNode = currentNode.getNode(name);
+ }
+ return currentNode;
+ }
Item item = session.getItem(path);
return (item.isNode()) ? (Node) item : null;
}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.