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/01 04:29:31 UTC

cvs commit: jakarta-commons-sandbox/vfs/src/test/org/apache/commons/vfs/test AbstractFileSystemTestCase.java

adammurdoch    2002/10/31 19:29:31

  Modified:    vfs/src/java/org/apache/commons/vfs/impl
                        DefaultFileSystemManager.java
                        StandardFileSystemManager.java
               vfs/src/java/org/apache/commons/vfs FileSystemManager.java
                        Resources.properties
               vfs/src/test/org/apache/commons/vfs/test
                        AbstractFileSystemTestCase.java
  Log:
  - Added FileSystemManager.createFileSystem(), which allows virtual file systems to be created.
  - Added DefaultFileSystemManager.init().
  
  Revision  Changes    Path
  1.15      +37 -0     jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/impl/DefaultFileSystemManager.java
  
  Index: DefaultFileSystemManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/impl/DefaultFileSystemManager.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- DefaultFileSystemManager.java	28 Oct 2002 02:05:06 -0000	1.14
  +++ DefaultFileSystemManager.java	1 Nov 2002 03:29:31 -0000	1.15
  @@ -86,6 +86,7 @@
    * <li>Set the file replicator using {@link #setReplicator} (optional).
    * <li>Set the temporary file store using {@link #setTemporaryFileStore} (optional).
    * <li>Set the base file using {@link #setBaseFile} (optional).
  + * <li>Initialise the manager using {@link #init}.
    * </ul>
    *
    * <p>When finished with the manager, call its {@link #close} method to clean
  @@ -126,6 +127,9 @@
   
       private TemporaryFileStore tempFileStore;
   
  +    private final VirtualFileProvider vfsProvider = new VirtualFileProvider();
  +    private boolean init;
  +
       /**
        * Returns the logger used by this manager.
        */
  @@ -294,11 +298,25 @@
       }
   
       /**
  +     * Initialises this manager.
  +     */
  +    public void init() throws FileSystemException
  +    {
  +        setupComponent( vfsProvider );
  +        init = true;
  +    }
  +
  +    /**
        * Closes all files created by this manager, and cleans up any temporary
        * files.  Also closes all providers and the replicator.
        */
       public void close()
       {
  +        if ( !init )
  +        {
  +            return;
  +        }
  +
           // Close the providers.
           for ( Iterator iterator = providers.values().iterator(); iterator.hasNext(); )
           {
  @@ -317,6 +335,7 @@
           defaultProvider = null;
           fileReplicator = null;
           tempFileStore = null;
  +        init = false;
       }
   
       /**
  @@ -433,6 +452,24 @@
               throw new FileSystemException( "vfs.impl/unknown-provider.error", scheme );
           }
           return provider.createFileSystem( scheme, file );
  +    }
  +
  +    /**
  +     * Creates a virtual file system.
  +     */
  +    public FileObject createFileSystem( final FileObject rootFile )
  +        throws FileSystemException
  +    {
  +        return vfsProvider.createFileSystem( rootFile );
  +    }
  +
  +    /**
  +     * Creates an empty virtual file system.
  +     */
  +    public FileObject createFileSystem( final String rootUri )
  +        throws FileSystemException
  +    {
  +        return vfsProvider.createFileSystem( rootUri );
       }
   
       /**
  
  
  
  1.4       +4 -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.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StandardFileSystemManager.java	28 Oct 2002 02:05:06 -0000	1.3
  +++ StandardFileSystemManager.java	1 Nov 2002 03:29:31 -0000	1.4
  @@ -57,7 +57,6 @@
   
   import org.apache.commons.vfs.FileSystemException;
   import org.apache.commons.vfs.util.Messages;
  -import org.apache.commons.vfs.provider.FileReplicator;
   import org.apache.commons.vfs.provider.FileProvider;
   
   /**
  @@ -84,7 +83,7 @@
       public void init() throws FileSystemException
       {
           // Set the replicator and temporary file store (use the same component)
  -        DefaultFileReplicator replicator = new DefaultFileReplicator();
  +        final DefaultFileReplicator replicator = new DefaultFileReplicator();
           setReplicator( new PrivilegedFileReplicator( replicator ) );
           setTemporaryFileStore( replicator );
   
  @@ -102,6 +101,8 @@
           {
               setDefaultProvider( provider );
           }
  +
  +        super.init();
       }
   
       /**
  
  
  
  1.8       +25 -0     jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/FileSystemManager.java
  
  Index: FileSystemManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/FileSystemManager.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- FileSystemManager.java	25 Oct 2002 03:57:29 -0000	1.7
  +++ FileSystemManager.java	1 Nov 2002 03:29:31 -0000	1.8
  @@ -203,6 +203,31 @@
           throws FileSystemException;
   
       /**
  +     * Creates an empty virtual file system.  Can be populated by adding
  +     * junctions to it.
  +     *
  +     * @param rootUri
  +     *          The root URI to use for the new file system.  Can be null.
  +     *
  +     * @return
  +     *          The root file of the new file system.
  +     */
  +    FileObject createFileSystem( String rootUri )
  +        throws FileSystemException;
  +
  +    /**
  +     * Creates a virtual file system.  The file system will contain a junction
  +     * at the fs root to the supplied root file.
  +     *
  +     * @param rootFile The root file to backs the file system.
  +     *
  +     * @return
  +     *          The root of the new file system.
  +     */
  +    FileObject createFileSystem( FileObject rootFile )
  +        throws FileSystemException;
  +
  +    /**
        * Returns a streamhandler factory to enable URL lookup using this
        * FileSystemManager.
        */
  
  
  
  1.11      +1 -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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Resources.properties	31 Oct 2002 10:35:18 -0000	1.10
  +++ Resources.properties	1 Nov 2002 03:29:31 -0000	1.11
  @@ -55,6 +55,7 @@
   vfs.provider/not-layered-fs.error=File system for URL scheme "{0}" is not a layered file system.
   
   # AbstractFileSystem
  +vfs.provider/mismatched-fs-for-name.error=Incorrect file system URI for in name "{0}", was expecting "{1}".
   vfs.provider/junctions-not-supported.error=Junctions not supported for file system "{0}".
   vfs.provider/notify-listener.warn=Could not notify listener of change to "{0}".
   
  
  
  
  1.17      +2 -0      jakarta-commons-sandbox/vfs/src/test/org/apache/commons/vfs/test/AbstractFileSystemTestCase.java
  
  Index: AbstractFileSystemTestCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/test/org/apache/commons/vfs/test/AbstractFileSystemTestCase.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- AbstractFileSystemTestCase.java	25 Oct 2002 11:11:51 -0000	1.16
  +++ AbstractFileSystemTestCase.java	1 Nov 2002 03:29:31 -0000	1.17
  @@ -186,6 +186,8 @@
           manager.setReplicator( new PrivilegedFileReplicator( replicator ) );
           manager.setTemporaryFileStore( replicator );
   
  +        manager.init();
  +
           // Locate the base folder
           baseFolder = getBaseFolder();
   
  
  
  

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