Author: justin
Date: Wed Nov 21 16:56:57 2012
New Revision: 1412190
URL: http://svn.apache.org/viewvc?rev=1412190&view=rev
Log:
SLING-2672 - DefaultContentImporter should replace nodes with the same UUIDs
being imported if overwrite is specified
Modified:
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java
Modified:
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java?rev=1412190&r1=1412189&r2=1412190&view=diff
==============================================================================
---
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java
(original)
+++
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java
Wed Nov 21 16:56:57 2012
@@ -18,7 +18,7 @@
*/
package org.apache.sling.jcr.contentloader.internal;
-import static javax.jcr.ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW;
+import static javax.jcr.ImportUUIDBehavior.*;
import java.io.IOException;
import java.io.InputStream;
@@ -166,10 +166,17 @@ public class DefaultContentImporter exte
return existingNode;
}
}
+
+ final int uuidBehavior;
+ if (replace) {
+ uuidBehavior = IMPORT_UUID_COLLISION_REPLACE_EXISTING;
+ } else {
+ uuidBehavior = IMPORT_UUID_CREATE_NEW;
+ }
ins = contentStream;
Session session = parent.getSession();
- session.importXML(parent.getPath(), ins, IMPORT_UUID_CREATE_NEW);
+ session.importXML(parent.getPath(), ins, uuidBehavior);
// additionally check whether the expected child node exists
return (parent.hasNode(nodeName)) ? parent.getNode(nodeName) :
null;