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 2002/11/17 04:30:13 UTC

cvs commit: jakarta-commons-sandbox/vfs/xdocs api.xml anttasks.xml filesystems.xml navigation.xml todo.xml getstarted.xml

adammurdoch    2002/11/16 19:30:13

  Modified:    vfs/xdocs anttasks.xml filesystems.xml navigation.xml
                        todo.xml
  Added:       vfs/xdocs api.xml
  Removed:     vfs/xdocs getstarted.xml
  Log:
  Added a little more doco.
  
  Revision  Changes    Path
  1.2       +80 -5     jakarta-commons-sandbox/vfs/xdocs/anttasks.xml
  
  Index: anttasks.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/xdocs/anttasks.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- anttasks.xml	28 Oct 2002 02:05:30 -0000	1.1
  +++ anttasks.xml	17 Nov 2002 03:30:13 -0000	1.2
  @@ -29,23 +29,98 @@
           </section>
   
           <section name="Copy">
  -            <p>Copies a set of files to a destination folder.</p>
  +            <p>Copies a set of files to a destination folder.  Does not copy
  +            source files where the destination file exists and is newer than
  +            the source file.  The copy task takes the following attributes:</p>
  +
  +            <table>
  +                <tr><th>Name</th><th>Description</th><th>Required</th></tr>
  +                <tr>
  +                    <td>destdir</td>
  +                    <td>The destination folder.  This folder is created if it
  +                    does not exist.</td>
  +                    <td rowspan="2">One only</td>
  +                </tr>
  +                <tr>
  +                    <td>destfile</td>
  +                    <td>The destination file.  Can only be used if there is a
  +                        single source file.</td>
  +                </tr>
  +                <tr>
  +                    <td>overwrite</td>
  +                    <td>Always copy files, ignoring the last-modified time of
  +                    the destination file.</td>
  +                    <td>No, default is <code>false</code>.</td>
  +                </tr>
  +                <tr>
  +                    <td>preservelastmodified</td>
  +                    <td>Set the last-modified time of destination files to
  +                    the same value as the source files.  May not be supported
  +                    by the destination file system.</td>
  +                    <td>No, default is <code>true</code>.</td>
  +                </tr>
  +                <tr>
  +                    <td>src</td>
  +                    <td>A source file or folder to copy.  Copies all descendents
  +                    of a folder.</td>
  +                    <td>No</td>
  +                </tr>
  +            </table>
  +
  +            <subsection name="Nested Elements">
  +                <p><b>src</b></p>
  +
  +                <p>Defines a source file or folder to copy.  It takes the
  +                following attributes:</p>
  +
  +                <table>
  +                    <tr><th>Name</th><th>Description</th><th>Required</th></tr>
  +                    <tr>
  +                        <td>file</td>
  +                        <td>The source file.</td>
  +                        <td>Yes</td>
  +                    </tr>
  +                </table>
  +            </subsection>
  +
           </section>
   
           <section name="Move">
  -            <p>Moves a set of files to a destination folder.</p>
  +            <p>Moves a set of files to a destination folder.  Has the same
  +                attributes and elements as the copy task.</p>
           </section>
   
           <section name="Sync">
  -            <p>Synchronises a destination folder with a set of source files.</p>
  +            <p>Synchronises a destination folder with a set of source files.
  +                Has the same attributes and elements as the copy task.</p>
           </section>
   
           <section name="Delete">
  -            <p>Deletes a file or folder.</p>
  +            <p>Deletes a file or folder.  It takes the following attributes:</p>
  +
  +            <table>
  +                <tr><th>Name</th><th>Description</th><th>Required</th></tr>
  +                <tr>
  +                    <td>file</td>
  +                    <td>The file or folder to delete.  All descendents of
  +                        the folder are deleted.</td>
  +                    <td>Yes</td>
  +                </tr>
  +            </table>
           </section>
   
           <section name="Mkdir">
  -            <p>Creates a folder.</p>
  +            <p>Creates a folder.  It takes the following attributes:</p>
  +
  +            <table>
  +                <tr><th>Name</th><th>Description</th><th>Required</th></tr>
  +                <tr>
  +                    <td>dir</td>
  +                    <td>The folder create.</td>
  +                    <td>Yes</td>
  +                </tr>
  +            </table>
  +
           </section>
       </body>
   </document>
  
  
  
  1.2       +3 -3      jakarta-commons-sandbox/vfs/xdocs/filesystems.xml
  
  Index: filesystems.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/xdocs/filesystems.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- filesystems.xml	28 Oct 2002 02:05:30 -0000	1.1
  +++ filesystems.xml	17 Nov 2002 03:30:13 -0000	1.2
  @@ -7,7 +7,7 @@
   
       <body>
           <section name="Supported File Systems">
  -            <p>Listed below are the supported file systems:</p>
  +            <p>The VFS currently supports the following file systems:</p>
               <ul>
                   <li><a href="#Local Files">Local Files</a></li>
                   <li><a href="#Zip and Jar Files">Zip and Jar Files</a></li>
  @@ -118,8 +118,8 @@
   
               <p>
                   Provides access to a temporary file system, or scratchpad,
  -                that gets deleted when the VFS is closed.  The temporary file
  -                system is, by default, backed by local files.
  +                that is deleted when the VFS shuts down.  The temporary file
  +                system is backed by a local file system.
               </p>
   
               <p><b>URI Format</b></p>
  
  
  
  1.4       +1 -1      jakarta-commons-sandbox/vfs/xdocs/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/xdocs/navigation.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- navigation.xml	28 Oct 2002 02:05:30 -0000	1.3
  +++ navigation.xml	17 Nov 2002 03:30:13 -0000	1.4
  @@ -8,7 +8,7 @@
       <menu name="VFS">
         <item name="Overview"                href="/index.html"/>
         <item name="Download"                href="/download.html"/>
  -      <item name="Getting Started"         href="/getstarted.html"/>
  +      <item name="Using the API"           href="/api.html"/>
         <item name="File Systems"            href="/filesystems.html"/> 
         <item name="Ant Tasks"               href="/anttasks.html"/>
         <item name="To Do List"              href="/todo.html"/>
  
  
  
  1.3       +41 -25    jakarta-commons-sandbox/vfs/xdocs/todo.xml
  
  Index: todo.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/xdocs/todo.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- todo.xml	28 Oct 2002 02:05:30 -0000	1.2
  +++ todo.xml	17 Nov 2002 03:30:13 -0000	1.3
  @@ -9,49 +9,65 @@
       <body>
           <section name="TODO">
               <p>
  -              The following is a list of items that need to be completed.
  -              Contributions are welcome!.
  +                The following is a list of items that need to be completed.
  +                Contributions are welcome!.
               </p>
   
               <ul>
  -                <li>More documentation</li>
  -                <li>Add more providers: http, webdav, resources, tar, gzip, cvs, jndi, etc</li>
  +                <li>More documentation (status, how to build, jar dependencies, etc)</li>
  +                <li>Add more providers: http, webdav, resources, tar, gzip, cvs, subversion, jndi, etc</li>
                   <li>Formalise the provider API.</li>
  -                <li>The in-memory caching mechanism is pretty rudimentary at
  -                this stage. It needs work to make it size capped. In addition,
  -                some mechanism needs to be provided to release and refresh
  -                cached info.</li>
  -                <li>The on-disk caching mechanism also needs more work.  Needs
  -                to check last-modified time.  Replicator needs to be more
  -                configurable.</li>
  +                <li>
  +                    The in-memory caching mechanism is pretty rudimentary at
  +                    this stage. It needs work to make it size capped. In addition,
  +                    some mechanism needs to be provided to release and refresh
  +                    cached info.</li>
  +                <li>
  +                    The on-disk caching mechanism also needs more work.  Needs
  +                    to check last-modified time.  Replicator needs to be more
  +                    configurable.</li>
                   <li>Add persistent replicator.</li>
                   <li>Add local mirroring.</li>
  -                <li>Change AbstractLayeredFileSystem to track changes to
  -                the parent file object.  Eg when the parent file is deleted,
  -                mark all the files in the fs as 'does-not-exist'.</li>
  +                <li>
  +                    Change AbstractLayeredFileSystem to track changes to
  +                    the parent file object.  Eg when the parent file is deleted,
  +                    mark all the files in the fs as 'does-not-exist'.</li>
                   <li>Change AbstractLayeredFileSystem to support writeable
  -                layered fs.</li>
  +                    layered fs.</li>
                   <li>Make StandardFileSystemManager configurable from an XML descriptor.</li>
                   <li>Change the model so that folders may have content.</li>
  -                <li>Add support for junctions (ie links).</li>
  -                <li>Add support for federation (ie transparently crossing file
  -                system boundaries, such as drilling down into the contents
  -                of a Jar file).</li>
  -                <li>Add Filtering file systems, which sit on top of another
  -                file system, and alter the contents.  For example, gzip or bzip2.</li>
  +                <li>
  +                    Finish support for junctions:  Make ancestors of a junction
  +                    point visible, fire events when junction is added or removed,
  +                    tests.</li>
  +                <li>
  +                    Add support for federation (ie transparently crossing file
  +                    system boundaries, such as drilling down into the contents
  +                    of a Jar file).</li>
  +                <li>
  +                    Add Filtering file systems, which sit on top of another
  +                    file system, and alter the contents.  For example, gzip or bzip2.</li>
                   <li>Add an equivalent of the fileScanner Jelly tag.</li>
                   <li>Add an equivalent of Ant fileset.</li>
  -                <li>Allow selectors, name mappers, and filters to be specified
  -                for the Ant tasks.</li>
  +                <li>
  +                    Allow selectors, name mappers, and filters to be specified
  +                    for the Ant tasks.</li>
                   <li>Capabilities discovery.</li>
                   <li>Attributes and attribute schema.</li>
  -                <li>Handle file canonicalisation better (for cases like
  -                case-insensitive file systems, symbolic links, name mangling, etc).</li>
  +                <li>
  +                    Handle file canonicalisation better (for cases like
  +                    case-insensitive file systems, symbolic links, name mangling, etc).</li>
                   <li>Add more selectors: XPath, Ant style, regular expression.</li>
                   <li>Add adaptor for use with JXpath.</li>
                   <li>Add contentChanged event to FileListener.</li>
                   <li>Provide a hook for authentication.</li>
                   <li>Sort out threading model.</li>
  +                <li>Add a file monitor, that watches for external changes to files.</li>
  +                <li>
  +                    Look at adding native code for fine-grained control over permissions,
  +                    file monitoring, faster moves, etc.  Must be optional - the
  +                    thing should still build and run without the native code.
  +                </li>
               </ul>
           </section>
       </body>
  
  
  
  1.1                  jakarta-commons-sandbox/vfs/xdocs/api.xml
  
  Index: api.xml
  ===================================================================
  <document>
      <properties>
          <title>Using The API</title>
          <author email="adammurdoch@apache.org">Adam Murdoch</author>
      </properties>
  
      <body>
          <section name="Getting Started">
              <p>
                  The <a href="apidocs/org/apache/commons/vfs/FileSystemManager.html"><code>FileSystemManager</code></a>
                  interface provides access to the VFS.  Using this interface
                  you can locate files and create file systems.
                  There are a number of ways to obtain a <code>FileSystemManager</code>
                  instance:
              </p>
              <ul>
                  <li>
                      Use the static
                      <a href="apidocs/org/apache/commons/vfs/VFS.html#getManager()"><code>VFS.getManager()</code></a>
                      method, which returns the default VFS implementation.
                  </li>
                  <li>
                      Create an instance of
                      <a href="apidocs/org/apache/commons/vfs/impl/DefaultFileSystemManager.html"><code>DefaultFileSystemManager</code></a>
                      and configure it manually.  <code>DefaultFileSystemManager</code>
                      does not include any providers or other services.  You
                      will have to add these to make it do anything useful.
                  </li>
                  <li>
                      Create an instance of
                      <a href="apidocs/org/apache/commons/vfs/impl/StandardFileSystemManager.html"><code>StandardFileSystemManager</code></a>,
                      a useful subclass of <code>DefaultFileSystemManager</code>
                      that includes all the standard providers and services.
                      You can add extra providers, or replace the standard
                      providers with custom implementations.
                  </li>
              </ul>
  
              <p>
                  Once you have a <code>FileSystemManager</code>, you can use one
                  of its <code>resolveFile()</code> methods to locate a file by name.
                  For example:
              </p>
  
              <source><![CDATA[
  FileSystemManager fsManager = VFS.getManager();
  FileObject aJarFile = fsManager.resolveFile( "jar:lib/aJarFile.jar" );
  ]]></source>
  
              <p>
                  Each file is represented by a
                  <a href="apidocs/org/apache/commons/vfs/FileObject.html"><code>FileObject</code></a>
                  instance.  Using this interface you can create or delete the
                  file, list its children, read or write its content, and so on.
                  For example:
              </p>
  
              <source><![CDATA[
  // Locate the Jar file
  FileSystemManager fsManager = VFS.getManager();
  FileObject aJarFile = fsManager.resolveFile( "jar:lib/aJarFile.jar" );
  
  // List the children of the Jar file
  FileObject[] children = fsManager.getChildren();
  System.println( "Children of " + aJarFile.getName().getURI() );
  for ( int i = 0; i < children.length; i++ )
  {
      System.println( children[ i ].getName().getBaseName() );
  }
  ]]></source>
  
              <p>See the Javadocs for <code>FileObject</code> for more detail.</p>
          </section>
      </body>
  </document>
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>