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;


Reply via email to