Hello, Something's wrong with implementation of getParent and makeCollection methods. (in cocoon 2.1.5)
makeCollection() - creates collection only if parent exists. Can't create directory hierarchy. When I try, i've got this exception: org.apache.excalibur.source.SourceException: Unable to create collection webdav://localhost/svn/einformatyka/articles/review/1088372068812. Server responded 404 (Not Found (404)) Directory einformatyka/articles exists, review - don't. Is this correct implementation of ModifiableTraversableSource? Well, i tried to make a work around, and created method like this: private void createDirectories(ModifiableTraversableSource source) throws SourceException { System.out.println("Creating dir ["+source.getURI()+"] " + " EXISTS: "+source.exists()); if (source.exists()) return; if (!source.getParent().exists()) createDirectories((ModifiableTraversableSource)source.getParent()); source.makeCollection(); } And this doesn't work too. It goes into infintive loop of recursive calls. On standard output I get: Creating dir [webdav://localhost/svn/einformatyka/articles/review/1088373196783] EXISTS: false Creating dir [webdav://localhost/svn/einformatyka/articles/review/] EXISTS: false Creating dir [webdav://localhost/svn/einformatyka/articles/review/] EXISTS: false Creating dir [webdav://localhost/svn/einformatyka/articles/review/] EXISTS: false Creating dir [webdav://localhost/svn/einformatyka/articles/review/] EXISTS: false [ and so on...] NOTE slash at the end of URI (review/) This example demonstrates that sometimes: source == source.getParent()... Is this a bug in cocoon or in webdav-lib? Or is this a feature? ;) regrads, -- Michal Stochmialek <[EMAIL PROTECTED]>