Re: Strange getChildResources() behaviour
Antoine Levy-Lambert <[email protected]> Mon, 26 Mar 2007 19:56:03 -0400
| Newsgroups | gmane.comp.jakarta.slide.user |
|---|---|
| Message-ID | <[email protected]> |
Hello David,
could you download the sources which are currently in SVN and see if you
have the bug with the head revision ?
Best regards,
Antoine
David King wrote:
> Sorry about all of the emails, but this bug is really frustrating me
> and I want to help see that it gets fixed.
>
> I've just verified that this is *not* the behaviour under Slide 2.0,
> only 2.1
>
> -- David
>
>
> On 25 Mar 2007, at 20:27, David King wrote:
>
>> I've just verified this against https://svn.apache.org/repos/asf/,
>> which means that it's not the server causing the problem
>>
>> -- David
>>
>>
>> On 25 Mar 2007, at 20:23, David King wrote:
>>
>>> I have a small program which tries to list an entire collection tree
>>> by recursion (it's a smaller part of a larger program). In theory
>>> this should be pretty easy. The tree looks like this (where a
>>> trailing slash denotes a collection):
>>>
>>> dir/1/
>>> dir/1/2
>>> dir/3/
>>> dir/3/4/
>>> dir/5
>>> dir/6
>>>
>>> However, when I try to do getChildResources() on "dir", instead of
>>> getting back {1,3,5,6}, instead I get back {dir,5,6}. That is,
>>> getChildResources() returns the original resource, and any files
>>> (but not collections) within the collection. Slide is the only
>>> library that seems to do this, so I'm inclined to believe that it's
>>> a bug (either in Slide or the server), but I'm hoping that I'm just
>>> doing something wrong. I'm doing this from Slide 2.1, talking to a
>>> Xythos 6.0 server (www.xythosondemand.com, but I've tried another
>>> Xythos server as well).
>>>
>>> Here's the actual code:
>>>
>>> import java.io.File;
>>> import java.io.IOException;
>>> import java.util.Enumeration;
>>> import org.apache.commons.httpclient.HttpException;
>>> import org.apache.commons.httpclient.HttpURL;
>>> import org.apache.commons.httpclient.HttpsURL;
>>> import org.apache.commons.httpclient.URIException;
>>> import org.apache.webdav.lib.WebdavResource;
>>> import org.apache.webdav.lib.WebdavResources;
>>>
>>> public class Davsync {
>>> private static final String URL="https://server/path/to/collection/";
>>> private static final String source="/local/path";
>>> private static final String user="username";
>>> private static final String password = "password";
>>>
>>> public static void main(String[] args) throws URIException,
>>> IOException {
>>> HttpsURL hrl=new HttpsURL(URL);
>>> hrl.setUserinfo(user, password);
>>>
>>> syncUp(hrl, new File(source));
>>> }
>>>
>>> private static void syncUp(HttpURL hu, File localFile) throws
>>> HttpException, IOException {
>>> syncUp(
>>> new WebdavResource(hu).getChildResources(),
>>> localFile);
>>> }
>>>
>>> private static void syncUp(WebdavResources wrs, File localfile)
>>> throws IOException {
>>> Enumeration wr=wrs.getResources();
>>> while(wr.hasMoreElements()) {
>>> WebdavResource r=(WebdavResource)wr.nextElement();
>>>
>>> if(r.isCollection()) {
>>> System.out.println("Dire:" + r.toString());
>>> // syncUp(r.listWebdavResources(),localfile);
>>> } else {
>>> System.out.println("File:" + r.toString());
>>> }
>>> }
>>> }
>>> }
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]