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:55 UTC
[sling-org-apache-sling-jcr-contentloader] 15/28: SLING-1561 -
changing destination of ROOT descriptor if path is specified in manifest
entry
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 90b2827883cff37e059c26a1d05f00a251f37e8c
Author: Justin Edelson <ju...@apache.org>
AuthorDate: Sat Jun 19 01:32:15 2010 +0000
SLING-1561 - changing destination of ROOT descriptor if path is specified in manifest entry
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/contentloader@956170 13f79535-47bb-0310-9956-ffa450edef68
---
.../internal/DefaultContentCreator.java | 32 +++++++++++-----------
.../sling/jcr/contentloader/internal/Loader.java | 17 ++++++------
2 files changed, 24 insertions(+), 25 deletions(-)
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 0b96104..b1bc0e3 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
@@ -73,11 +73,11 @@ public class DefaultContentCreator implements ContentCreator {
private final Map<String, List<String>> delayedReferences = new HashMap<String, List<String>>();
private final Map<String, String[]> delayedMultipleReferences = new HashMap<String, String[]>();
- private String defaultRootName;
+ private String defaultName;
- private Node rootNode;
+ private Node createdRootNode;
- private boolean isRootNodeImport;
+ private boolean isParentNodeImport;
private boolean ignoreOverwriteFlag = false;
@@ -135,17 +135,17 @@ public class DefaultContentCreator implements ContentCreator {
/**
*
- * If the defaultRootName is null, we are in ROOT_NODE import mode.
+ * If the defaultName is null, we are in PARENT_NODE import mode.
* @param parentNode
- * @param defaultRootName
+ * @param defaultName
*/
public void prepareParsing(final Node parentNode,
- final String defaultRootName) {
+ final String defaultName) {
this.parentNodeStack.clear();
this.parentNodeStack.push(parentNode);
- this.defaultRootName = defaultRootName;
- this.rootNode = null;
- isRootNodeImport = defaultRootName == null;
+ this.defaultName = defaultName;
+ isParentNodeImport = defaultName == null;
+ this.createdRootNode = null;
}
/**
@@ -173,8 +173,8 @@ public class DefaultContentCreator implements ContentCreator {
/**
* Get the created root node.
*/
- public Node getRootNode() {
- return this.rootNode;
+ public Node getCreatedRootNode() {
+ return this.createdRootNode;
}
/**
@@ -231,11 +231,11 @@ public class DefaultContentCreator implements ContentCreator {
if ( this.parentNodeStack.size() > 1 ) {
throw new RepositoryException("Node needs to have a name.");
}
- name = this.defaultRootName;
+ name = this.defaultName;
}
- // if we are in root node import mode, we don't create the root top level node!
- if ( !isRootNodeImport || this.parentNodeStack.size() > 1 ) {
+ // if we are in parent node import mode, we don't create the root top level node!
+ if ( !isParentNodeImport || this.parentNodeStack.size() > 1 ) {
// if node already exists but should be overwritten, delete it
if (!this.ignoreOverwriteFlag && this.configuration.isOverwrite() && parentNode.hasNode(name)) {
parentNode.getNode(name).remove();
@@ -281,8 +281,8 @@ public class DefaultContentCreator implements ContentCreator {
}
this.parentNodeStack.push(node);
- if ( this.rootNode == null ) {
- this.rootNode = node;
+ if ( this.createdRootNode == null ) {
+ this.createdRootNode = node;
}
}
}
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 2675d58..b52fb82 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
@@ -392,11 +392,10 @@ public class Loader {
return;
}
- // potential root node import/extension
- URL rootNodeDescriptor = importRootNode(parent.getSession(), bundle, path);
- if (rootNodeDescriptor != null) {
- processedEntries.put(rootNodeDescriptor,
- parent.getSession().getRootNode());
+ // potential parent node import/extension
+ URL parentNodeDescriptor = importParentNode(parent.getSession(), bundle, path, parent);
+ if (parentNodeDescriptor != null) {
+ processedEntries.put(parentNodeDescriptor, parent);
}
while (entries.hasMoreElements()) {
@@ -549,7 +548,7 @@ public class Loader {
this.contentCreator.prepareParsing(parent, toPlainName(name));
nodeReader.parse(resourceUrl, this.contentCreator);
- return this.contentCreator.getRootNode();
+ return this.contentCreator.getCreatedRootNode();
} catch (RepositoryException re) {
throw re;
} catch (Throwable t) {
@@ -807,9 +806,9 @@ public class Loader {
/**
* Imports mixin nodes and properties (and optionally child nodes) of the
- * root node.
+ * parent node.
*/
- private URL importRootNode(Session session, Bundle bundle, String path)
+ private URL importParentNode(Session session, Bundle bundle, String path, Node parent)
throws RepositoryException {
final Descriptor descriptor = getRootNodeDescriptor(bundle, path);
// no root descriptor found
@@ -818,7 +817,7 @@ public class Loader {
}
try {
- this.contentCreator.prepareParsing(session.getRootNode(), null);
+ this.contentCreator.prepareParsing(parent, null);
descriptor.nodeReader.parse(descriptor.rootNodeDescriptor, this.contentCreator);
return descriptor.rootNodeDescriptor;
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.