You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ad...@apache.org on 2003/02/15 01:17:06 UTC

cvs commit: jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/webdav Test.java WebDavFileSystem.java WebdavFileObject.java WebdavProvider.java

adammurdoch    2003/02/14 16:17:06

  Modified:    vfs/src/java/org/apache/commons/vfs Resources.properties
               vfs/src/java/org/apache/commons/vfs/impl
                        StandardFileSystemManager.java
  Added:       vfs/src/java/org/apache/commons/vfs/provider/webdav
                        Test.java WebDavFileSystem.java
                        WebdavFileObject.java WebdavProvider.java
  Log:
  First cut at a webdav provider.
  
  Revision  Changes    Path
  1.16      +6 -0      jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/Resources.properties
  
  Index: Resources.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/Resources.properties,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- Resources.properties	13 Feb 2003 04:28:45 -0000	1.15
  +++ Resources.properties	15 Feb 2003 00:17:06 -0000	1.16
  @@ -132,6 +132,12 @@
   # URL Provider
   vfs.provider.url/badly-formed-uri.error=Badly formed URI "{0}".
   
  +# WebDAV provider
  +vfs.provider.webdav/write-file.error=Write to file failed with message: "{0}".
  +vfs.provider.webdav/list-children.error=Could not list child resources.
  +vfs.provider.webdav/create-collection.error=Creat collection failed with message: "{0}".
  +vfs.provider.webdav/delete-file.error=Delete file failed with message: "{0}".
  +
   # Ant tasks
   vfs.tasks/sync.no-destination.error=No destination file or directory specified.
   vfs.tasks/sync.too-many-destinations.error=Cannot specify both a destination file and a destination directory.
  
  
  
  1.9       +3 -3      jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/impl/StandardFileSystemManager.java
  
  Index: StandardFileSystemManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/impl/StandardFileSystemManager.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- StandardFileSystemManager.java	12 Feb 2003 07:56:10 -0000	1.8
  +++ StandardFileSystemManager.java	15 Feb 2003 00:17:06 -0000	1.9
  @@ -92,6 +92,7 @@
           addProvider( "jar", "org.apache.commons.vfs.provider.jar.JarFileSystemProvider" );
           addProvider( "ftp", "org.apache.commons.vfs.provider.ftp.FtpFileSystemProvider" );
           addProvider( "smb", "org.apache.commons.vfs.provider.smb.SmbFileSystemProvider" );
  +        addProvider( "webdav", "org.apache.commons.vfs.provider.webdav.WebdavProvider" );
           addProvider( "tmp", "org.apache.commons.vfs.provider.temp.TemporaryFileProvider" );
   
           // Add a default provider
  @@ -141,5 +142,4 @@
               throw new FileSystemException( "vfs.impl/create-provider.error", providerClassName, e );
           }
       }
  -
  -}
  +}
  \ No newline at end of file
  
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/webdav/Test.java
  
  Index: Test.java
  ===================================================================
  /* ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   */
  package org.apache.commons.vfs.provider.webdav;
  
  import org.apache.commons.vfs.FileSystemManager;
  import org.apache.commons.vfs.VFS;
  import org.apache.commons.vfs.FileObject;
  import org.apache.commons.vfs.Selectors;
  import java.io.OutputStream;
  
  /**
   *
   *
   * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
   * @version $Revision: 1.1 $ $Date: 2003/02/15 00:17:06 $
   */
  public class Test
  {
      public static void main( final String[] args ) throws Exception
      {
          final FileSystemManager manager = VFS.getManager();
          final FileObject folder = manager.resolveFile( args[ 0 ] );
          final FileObject file = folder.resolveFile( "file2.txt" );
          System.out.println( "folder.exists() = " + folder.exists() );
          System.out.println( "file.exists() = " + file.exists() );
  
          folder.delete( Selectors.SELECT_ALL );
          System.out.println( "folder.exists() = " + folder.exists() );
          System.out.println( "file.exists() = " + file.exists() );
  
          final OutputStream outstr = file.getContent().getOutputStream();
          outstr.write( ( "hello\n" ).getBytes() );
          outstr.close();
  
          System.out.println( "folder.exists() = " + folder.exists() );
          System.out.println( "file.exists() = " + file.exists() );
      }
  }
  
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/webdav/WebDavFileSystem.java
  
  Index: WebDavFileSystem.java
  ===================================================================
  /* ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   */
  package org.apache.commons.vfs.provider.webdav;
  
  import java.util.Collection;
  import org.apache.commons.vfs.FileName;
  import org.apache.commons.vfs.FileObject;
  import org.apache.commons.vfs.FileSystem;
  import org.apache.commons.vfs.FileSystemException;
  import org.apache.commons.vfs.Capability;
  import org.apache.commons.vfs.provider.AbstractFileSystem;
  import org.apache.commons.vfs.provider.GenericFileName;
  
  /**
   * A WebDAV file system.
   *
   * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
   * @version $Revision: 1.1 $ $Date: 2003/02/15 00:17:06 $
   */
  class WebDavFileSystem
      extends AbstractFileSystem
      implements FileSystem
  {
      public WebDavFileSystem( final GenericFileName rootName )
      {
          super( rootName, null );
      }
  
      /**
       * Adds the capabilities of this file system.
       */
      protected void addCapabilities( final Collection caps )
      {
          caps.add( Capability.CREATE );
          caps.add( Capability.DELETE );
          caps.add( Capability.GET_TYPE );
          caps.add( Capability.LIST_CHILDREN );
          caps.add( Capability.READ_CONTENT );
          caps.add( Capability.URI );
          caps.add( Capability.WRITE_CONTENT );
      }
  
      /**
       * Creates a file object.  This method is called only if the requested
       * file is not cached.
       */
      protected FileObject createFile( final FileName name )
          throws FileSystemException
      {
          final GenericFileName rootName = (GenericFileName)name;
          return new WebdavFileObject( rootName, this );
      }
  }
  
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/webdav/WebdavFileObject.java
  
  Index: WebdavFileObject.java
  ===================================================================
  /* ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   */
  package org.apache.commons.vfs.provider.webdav;
  
  import java.io.ByteArrayOutputStream;
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.OutputStream;
  import java.util.Enumeration;
  import org.apache.commons.vfs.FileObject;
  import org.apache.commons.vfs.FileSystemException;
  import org.apache.commons.vfs.FileType;
  import org.apache.commons.vfs.provider.AbstractFileObject;
  import org.apache.commons.vfs.provider.AbstractFileSystem;
  import org.apache.commons.vfs.provider.GenericFileName;
  import org.apache.commons.vfs.util.MonitorInputStream;
  import org.apache.commons.vfs.util.MonitorOutputStream;
  import org.apache.util.HttpURL;
  import org.apache.webdav.lib.WebdavResource;
  
  /**
   * A WebDAV file.
   *
   * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
   * @version $Revision: 1.1 $ $Date: 2003/02/15 00:17:06 $
   */
  public class WebdavFileObject
      extends AbstractFileObject
      implements FileObject
  {
      private WebdavResource resource;
      private HttpURL url;
  
      public WebdavFileObject( final GenericFileName name,
                               final AbstractFileSystem fileSystem ) throws FileSystemException
      {
          super( name, fileSystem );
      }
  
      /**
       * Determines the type of the file, returns null if the file does not
       * exist.
       *
       * @todo Pool and reuse the connections
       * @todo Bail if file is not a DAV resource
       */
      protected FileType doGetType() throws Exception
      {
          final GenericFileName name = (GenericFileName)getName();
          url = new HttpURL( name.getUserName(), name.getPassword(), name.getHostName(), name.getPort(), name.getPath() );
          resource = new WebdavResource( url, WebdavResource.NOACTION, 1 );
  
          // Determine whether the resource exists, and whether it is a DAV resource
          boolean ok = resource.optionsMethod();
          if ( !ok )
          {
              resource.getHttpURL().setPath( getName().getPath() + '/' );
              ok = resource.optionsMethod();
              if ( !ok )
              {
                  return null;
              }
          }
  
          boolean exists = false;
          for ( Enumeration enum = resource.getAllowedMethods(); enum.hasMoreElements(); )
          {
              final String method = (String)enum.nextElement();
              if ( method.equals( "GET" ) )
              {
                  exists = true;
                  break;
              }
          }
          boolean isDavResource = false;
          for ( Enumeration enum = resource.getDavCapabilities(); enum.hasMoreElements(); )
          {
              isDavResource = true;
              break;
          }
  
          if ( !exists )
          {
              return null;
          }
  
          // Get the properties of the resource
          resource.setProperties( WebdavResource.DEFAULT, 1 );
          if ( resource.isCollection() )
          {
              return FileType.FOLDER;
          }
          else
          {
              return FileType.FILE;
          }
      }
  
      /**
       * Lists the children of the file.
       */
      protected String[] doListChildren() throws Exception
      {
          final String[] children = resource.list();
          if ( children == null )
          {
              throw new FileSystemException( "vfs.provider.webdav/list-children.error" );
          }
          return children;
      }
  
      /**
       * Creates this file as a folder.
       */
      protected void doCreateFolder() throws Exception
      {
          resource.getHttpURL().setPath( getName().getPath() + '/' );
          final boolean ok = resource.mkcolMethod();
          if ( !ok )
          {
              throw new FileSystemException( "vfs.provider.webdav/create-collection.error", resource.getStatusMessage() );
          }
      }
  
      /**
       * Deletes the file.
       */
      protected void doDelete() throws Exception
      {
          final boolean ok = resource.deleteMethod( url.getPath() );
          if ( !ok )
          {
              throw new FileSystemException( "vfs.provider.webdav/delete-file.error", resource.getStatusMessage() );
          }
      }
  
      /**
       * Creates an input stream to read the file content from.
       */
      protected InputStream doGetInputStream() throws Exception
      {
          return new WebdavInputStream( resource );
      }
  
      /**
       * Creates an output stream to write the file content to.
       */
      protected OutputStream doGetOutputStream() throws Exception
      {
          return new WebdavOutputStream();
      }
  
      /**
       * Returns the size of the file content (in bytes).
       */
      protected long doGetContentSize() throws Exception
      {
          return resource.getGetContentLength();
      }
  
      /** An InputStream that reads from a Webdav resource. */
      private static class WebdavInputStream
          extends MonitorInputStream
      {
          private final WebdavResource resource;
  
          public WebdavInputStream( final WebdavResource resource )
              throws Exception
          {
              super( resource.getMethodData() );
              this.resource = resource;
          }
  
          /**
           * Called after the stream has been closed.
           */
          protected void onClose() throws IOException
          {
              // TODO - clean up
              //resource.close();
          }
      }
  
      /**
       * An OutputStream that writes to a Webdav resource.
       *
       * @todo Don't gather up the body in a ByteArrayOutputStream, write directly to connection
       */
      private class WebdavOutputStream
          extends MonitorOutputStream
      {
          public WebdavOutputStream()
          {
              super( new ByteArrayOutputStream() );
          }
  
          /**
           * Called after this stream is closed.
           */
          protected void onClose() throws IOException
          {
              final ByteArrayOutputStream outstr = (ByteArrayOutputStream)out;
  
              resource.getHttpURL().setPath( getName().getPath() );
              final boolean ok = resource.putMethod( outstr.toByteArray() );
              if ( !ok )
              {
                  throw new FileSystemException( "vfs.provider.webdav/write-file.error", resource.getStatusMessage() );
              }
          }
      }
  }
  
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/webdav/WebdavProvider.java
  
  Index: WebdavProvider.java
  ===================================================================
  /* ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   */
  package org.apache.commons.vfs.provider.webdav;
  
  import org.apache.commons.vfs.FileName;
  import org.apache.commons.vfs.FileSystem;
  import org.apache.commons.vfs.FileSystemException;
  import org.apache.commons.vfs.provider.AbstractOriginatingFileProvider;
  import org.apache.commons.vfs.provider.GenericFileName;
  
  /**
   * A provider for WebDAV.
   *
   * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
   * @version $Revision: 1.1 $ $Date: 2003/02/15 00:17:06 $
   */
  public class WebdavProvider
      extends AbstractOriginatingFileProvider
  {
      /**
       * Parses an abolute URI.
       */
      protected FileName parseUri( final String uri )
          throws FileSystemException
      {
          return GenericFileName.parseUri( uri, 80 );
      }
  
      /**
       * Creates a filesystem.
       */
      protected FileSystem doCreateFileSystem( final FileName name )
          throws FileSystemException
      {
          final GenericFileName rootName = (GenericFileName)name;
          return new WebDavFileSystem( rootName );
      }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org