You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ol...@apache.org on 2015/03/07 13:00:05 UTC
svn commit: r1664834 - in
/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal:
Loader.java SystemViewImporter.java
Author: olli
Date: Sat Mar 7 12:00:04 2015
New Revision: 1664834
URL: http://svn.apache.org/r1664834
Log:
SLING-3535 reduce duplicated code in content loader
* change call in Loader to use InputStream instead of URL and with replace flag set to false
* remove wrong comment regarding already existing content node
* remove obsolete method for Loader
Modified:
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/SystemViewImporter.java
Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java?rev=1664834&r1=1664833&r2=1664834&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java Sat Mar 7 12:00:04 2015
@@ -465,7 +465,8 @@ public class Loader extends BaseImportLo
try {
// special treatment for system view imports
if (resourcePath.endsWith(EXT_JCR_XML)) {
- return importSystemView(parent, name, resourceUrl);
+ final InputStream contentStream = resourceUrl.openStream();
+ return importSystemView(parent, name, contentStream, false);
}
// get the node reader for this resource
Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/SystemViewImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/SystemViewImporter.java?rev=1664834&r1=1664833&r2=1664834&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/SystemViewImporter.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/SystemViewImporter.java Sat Mar 7 12:00:04 2015
@@ -42,60 +42,6 @@ public class SystemViewImporter {
public SystemViewImporter() {
}
- // TODO from Loader
-
- /**
- * Import the XML file as JCR system or document view import. If the XML
- * file is not a valid system or document view export/import file,
- * <code>false</code> is returned.
- *
- * @param parent The parent node below which to import
- * @param nodeXML The URL to the XML file to import
- * @return <code>true</code> if the import succeeds, <code>false</code>
- * if the import fails due to XML format errors.
- * @throws java.io.IOException If an IO error occurs reading the XML file.
- */
- protected Node importSystemView(Node parent, String name, URL nodeXML) throws IOException {
-
- InputStream ins = null;
- try {
- // check whether we have the content already, nothing to do then
- if (name.endsWith(EXT_JCR_XML)) {
- name = name.substring(0, name.length() - EXT_JCR_XML.length());
- }
- if (parent.hasNode(name)) {
- logger.debug("importSystemView: Node {} for XML {} already exists, nothing to do", name, nodeXML);
- return parent.getNode(name);
- }
-
- ins = nodeXML.openStream();
- Session session = parent.getSession();
- session.importXML(parent.getPath(), ins, IMPORT_UUID_CREATE_NEW);
-
- // additionally check whether the expected child node exists
- return (parent.hasNode(name)) ? parent.getNode(name) : null;
- } catch (InvalidSerializedDataException isde) {
- // the XML might not be system or document view export, fall back
- // to old-style XML reading
- logger.info("importSystemView: XML {} does not seem to be system view export, trying old style; cause: {}", nodeXML, isde.toString());
- return null;
- } catch (RepositoryException re) {
- // any other repository related issue...
- logger.info("importSystemView: Repository issue loading XML {}, trying old style; cause: {}", nodeXML, re.toString());
- return null;
- } finally {
- if (ins != null) {
- try {
- ins.close();
- } catch (IOException ignore) {
- // ignore
- }
- }
- }
- }
-
- // TODO from DefaultContentImporter
-
/**
* Import the XML file as JCR system or document view import. If the XML
* file is not a valid system or document view export/import file,
@@ -112,7 +58,6 @@ public class SystemViewImporter {
protected Node importSystemView(Node parent, String name, InputStream contentStream, boolean replace) throws IOException {
InputStream ins = null;
try {
- // check whether we have the content already, nothing to do then
final String nodeName = (name.endsWith(EXT_JCR_XML)) ? name.substring(0, name.length() - EXT_JCR_XML.length()) : name;
// ensure the name is not empty