You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2016/11/06 21:23:22 UTC

svn commit: r1768392 - in /jackrabbit/trunk/jackrabbit-webdav/src: main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java test/java/org/apache/jackrabbit/webdav/server/RFC4918DestinationHeaderTest.java

Author: reschke
Date: Sun Nov  6 21:23:22 2016
New Revision: 1768392

URL: http://svn.apache.org/viewvc?rev=1768392&view=rev
Log:
JCR-4052: RFC4918DestinationHeaderTest fails with internal server error

Modified:
    jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java
    jackrabbit/trunk/jackrabbit-webdav/src/test/java/org/apache/jackrabbit/webdav/server/RFC4918DestinationHeaderTest.java

Modified: jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java?rev=1768392&r1=1768391&r2=1768392&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java (original)
+++ jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java Sun Nov  6 21:23:22 2016
@@ -845,7 +845,14 @@ abstract public class AbstractWebdavServ
                     return DavServletResponse.SC_PRECONDITION_FAILED;
                 } else {
                     // overwrite existing resource
-                    destResource.getCollection().removeMember(destResource);
+                    DavResource col;
+                    try {
+                        col = destResource.getCollection();
+                    }
+                    catch (IllegalArgumentException ex) {
+                        return DavServletResponse.SC_BAD_GATEWAY;
+                    }
+                    col.removeMember(destResource);
                     status = DavServletResponse.SC_NO_CONTENT;
                 }
             } else {

Modified: jackrabbit/trunk/jackrabbit-webdav/src/test/java/org/apache/jackrabbit/webdav/server/RFC4918DestinationHeaderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-webdav/src/test/java/org/apache/jackrabbit/webdav/server/RFC4918DestinationHeaderTest.java?rev=1768392&r1=1768391&r2=1768392&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-webdav/src/test/java/org/apache/jackrabbit/webdav/server/RFC4918DestinationHeaderTest.java (original)
+++ jackrabbit/trunk/jackrabbit-webdav/src/test/java/org/apache/jackrabbit/webdav/server/RFC4918DestinationHeaderTest.java Sun Nov  6 21:23:22 2016
@@ -79,7 +79,7 @@ public class RFC4918DestinationHeaderTes
         String destinationpath = new URI(destinationuri).getRawPath();
         // make sure the scheme is removed
         assertFalse(destinationpath.contains(":"));
-        
+
         int status;
         try {
             PutMethod put = new PutMethod(testuri);
@@ -89,7 +89,7 @@ public class RFC4918DestinationHeaderTes
             // try to move outside the servlet's name space
             MoveMethod move = new MoveMethod(testuri, "/foobar", true);
             status = this.client.executeMethod(move);
-            assertTrue("status: " + status, status == 403);
+            assertTrue("status: " + status, status == 502);
 
             // try a relative path
             move = new MoveMethod(testuri, "foobar", true);