If a resource is read (PROPFIND) with includes a plus sign, it gets decoded to a space. to reproduce simply call listWebdavResources() on a resource which includes an item with a '+' and it will come back as a space. ie: String newDirectory = "test-1.0+1"; webdavResource.mkcolMethod(newDirectory); WebdavResource[] resources = webdavResource.listWebdavResources(); for (WebdavResource resource : resources) { System.out.println(">>> '" + resource.getPath() + "'"); } Output: >>> 'test-1.0 1'
I think this bug is invalid. Using Apache 2.2.0 w/mod_dav returns the following PROPFIND for the file "test+test": <href>/webdav/test+test/</href> With slide server 2.1 it returns the following: <href>/webdav/test%2Btest/</href> So, this appears to be a problem with incorrect encoding with the apache dav server (I'm not completely sure what the exact rules are for servers encoding paths).
It turns out that this bug was also complicating matters: http://issues.apache.org/bugzilla/show_bug.cgi?id=39564