Author: fmeschbe
Date: Tue Mar 29 08:30:40 2011
New Revision: 1086516

URL: http://svn.apache.org/viewvc?rev=1086516&view=rev
Log:
Fix false positive switching  create status in case the target node does not 
exist

Modified:
    
sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ImportOperation.java

Modified: 
sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ImportOperation.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ImportOperation.java?rev=1086516&r1=1086515&r2=1086516&view=diff
==============================================================================
--- 
sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ImportOperation.java
 (original)
+++ 
sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ImportOperation.java
 Tue Mar 29 08:30:40 2011
@@ -122,15 +122,17 @@ public class ImportOperation extends Abs
         if (request.getParameter(SlingPostConstants.RP_NODE_NAME) != null) {
             // exact name
             targetName = request.getParameter(SlingPostConstants.RP_NODE_NAME);
-            if (targetName.length() > 0 && node.hasNode(targetName) && 
!replace) {
-                response.setStatus(HttpServletResponse.SC_PRECONDITION_FAILED,
-                    "Cannot import " + path + "/" + targetName
-                        + ": node exists");
-                return;
+            if (targetName.length() > 0 && node.hasNode(targetName)) {
+                if (replace) {
+                    response.setCreateRequest(false);
+                } else {
+                    response.setStatus(
+                        HttpServletResponse.SC_PRECONDITION_FAILED,
+                        "Cannot import " + path + "/" + targetName
+                            + ": node exists");
+                    return;
+                }
             }
-
-            // node exists to be overwritten
-            response.setCreateRequest(false);
         } else if (request.getParameter(SlingPostConstants.RP_NODE_NAME_HINT) 
!= null) {
             // node name hint only
             String nodePath = generateName(request, basePath);


Reply via email to