org.w3c.dom.Node is at the heart of XML and is used by SAX,DOM and STAX
org.w3c.dom is currently not used by the Following implementations in 
commons-configurations:
properties
FileSystems such as VFS or Hadoop FS
DB 
unless of course we convert Properties/VFSFileEntitiesHadoop/DB to XML DOM Node 
which is not happening

to resolve these 2 distinct implementation paths i suggested a split in 
Functionality
one for XML (org.w3c.dom.Node)
and one for Properties/VFS/HDFS/DBEntities
So the solution seems to be a re-architecture...I have something running 
locally on my box which scans the file extension and then sets up the correct 
digesterRules and then sets up the XMLConfiguration for XML
but then uses PropertiesConfiguration for files which use a 
PropertyConfiguration for 
Properties, VFS, HadoopFS, DB

you can see clearly see this distinction in the rules initialisation within 
ConfigurationFactory.java
protected void initDigesterSectionRules(Digester digester, String matchString, 
boolean additional)

Martin


> Date: Thu, 31 Jul 2014 18:54:44 -0400
> Subject: Re: [vfs] webdav access throws ClassCastException: ArrayList cannot 
> be cast Node
> From: garydgreg...@gmail.com
> To: user@commons.apache.org
> 
> Is this in 2.0 or using the trunk version? If not trunk, can you check out
> trunk and test your scenario?
> 
> Gayr
> 
> 
> On Thu, Jul 31, 2014 at 4:43 PM, Jörg Wille <joerg.wi...@gmail.com> wrote:
> 
> > This is the first time I use VFS. But local and http file access works.
> > But using webdav (with *Alfresco* as server) does not work.
> > The Problem is similar to this one:
> >
> > http://mail-archives.apache.org/mod_mbox/commons-user/201109.mbox/%3C004001cc769b$ff3e6770$fdbb3650$@queres.com%3E
> >
> > *I am doing the following:*
> >
> > private static final String URL = "webdav://
> > admin:alfresco@192.168.66.124:8080/alfresco/webdav/firmware/";
> > DefaultFileSystemManager manager = new DefaultFileSystemManager();
> > manager.addProvider("file", new DefaultLocalFileProvider());
> > manager.addProvider("http", new HttpFileProvider());
> > manager.addProvider("webdav", new WebdavFileProvider());
> > manager.setCacheStrategy(CacheStrategy.ON_RESOLVE);
> > manager.setFilesCache(new SoftRefFilesCache());
> > manager.init();
> > final FileObject fileObject = manager.resolveFile(URL)
> > System.out.println("Name:" + fileObject.getName());
> > System.out.println("Attached:" + fileObject.isAttached());
> > try {
> >     fileObject.isReadable();
> > } catch (Exception e) {
> >     System.out.println("Message: " + e.getMessage() + "\nCause: " +
> > e.getCause()+ "\nStacktrace: " + getStackTrace(e));
> > }
> > try {
> >     fileObject.getChildren();
> > } catch (Exception e) {
> >     System.out.println("Message: " + e.getMessage() + "\nCause: " +
> > e.getCause()+ "\nStacktrace: " + getStackTrace(e));
> > }
> > try {
> >     fileObject.isFolder();
> > } catch (Exception e) {
> >     System.out.println("Message: " + e.getMessage() + "\nCause: " +
> > e.getCause()+ "\nStacktrace: " + getStackTrace(e));
> > }
> >
> > *Result:*
> >
> > Name:webdav://admin:alfresco@192.168.66.124:8080/alfresco/webdav/firmware/
> >
> > *Attached:false*
> >
> > Message: Could not determine if file "webdav://admin:***@
> > 192.168.66.124:8080/alfresco/webdav/firmware/" is readable.
> >
> > Cause: org.apache.commons.vfs2.FileSystemException: Could not determine the
> > type of file "webdav://admin:***@
> > 192.168.66.124:8080/alfresco/webdav/firmware/".
> >
> > Stacktrace: org.apache.commons.vfs2.FileSystemException: Could not
> > determine if file "webdav://admin:***@
> > 192.168.66.124:8080/alfresco/webdav/firmware/" is readable.
> >
> > …
> >
> > Caused by: java.lang.ClassCastException: java.util.ArrayList cannot be cast
> > to org.w3c.dom.Node
> >
> > at
> >
> > org.apache.commons.vfs2.provider.webdav.WebdavFileObject.isDirectory(WebdavFileObject.java:718)
> >
> > at
> >
> > org.apache.commons.vfs2.provider.webdav.WebdavFileObject.doGetType(WebdavFileObject.java:405)
> >
> > at
> >
> > org.apache.commons.vfs2.provider.AbstractFileObject.getType(AbstractFileObject.java:1497)
> >
> > ... 57 more
> >
> >
> > Message: Could not list the contents of folder "webdav://admin:***@
> > 192.168.66.124:8080/alfresco/webdav/firmware/".
> >
> > Cause: java.lang.ClassCastException: java.util.ArrayList cannot be cast to
> > org.w3c.dom.Node
> >
> > Stacktrace: org.apache.commons.vfs2.FileSystemException: Could not list the
> > contents of folder "webdav://admin:***@
> > 192.168.66.124:8080/alfresco/webdav/firmware/".
> >
> > …
> >
> > Caused by: java.lang.ClassCastException: java.util.ArrayList cannot be cast
> > to org.w3c.dom.Node
> >
> > at
> >
> > org.apache.commons.vfs2.provider.webdav.WebdavFileObject.isDirectory(WebdavFileObject.java:718)
> >
> > at
> >
> > org.apache.commons.vfs2.provider.webdav.WebdavFileObject.doListChildrenResolved(WebdavFileObject.java:453)
> >
> > at
> >
> > org.apache.commons.vfs2.provider.AbstractFileObject.getChildren(AbstractFileObject.java:1147)
> >
> > ... 55 more
> >
> >
> > Message: Could not determine the type of file "webdav://admin:***@
> > 192.168.66.124:8080/alfresco/webdav/firmware/".
> >
> > Cause: java.lang.ClassCastException: java.util.ArrayList cannot be cast to
> > org.w3c.dom.Node
> >
> > Stacktrace: org.apache.commons.vfs2.FileSystemException: Could not
> > determine the type of file "webdav://admin:***@
> > 192.168.66.124:8080/alfresco/webdav/firmware/".
> >
> > …
> >
> > Caused by: java.lang.ClassCastException: java.util.ArrayList cannot be cast
> > to org.w3c.dom.Node
> >
> > at
> >
> > org.apache.commons.vfs2.provider.webdav.WebdavFileObject.isDirectory(WebdavFileObject.java:718)
> >
> > at
> >
> > org.apache.commons.vfs2.provider.webdav.WebdavFileObject.doGetType(WebdavFileObject.java:405)
> >
> > at
> >
> > org.apache.commons.vfs2.provider.AbstractFileObject.getType(AbstractFileObject.java:1497)
> >
> > ... 56 more
> >
> > What am I doing wrong? And what does "Attached:false" means?
> >
> 
> 
> 
> -- 
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
                                          

Reply via email to