KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > vfs > provider > test > JunctionProviderConfig


1 /*
2  * Copyright 2002-2005 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.commons.vfs.provider.test;
17
18 import org.apache.commons.vfs.FileObject;
19 import org.apache.commons.vfs.FileSystem;
20 import org.apache.commons.vfs.FileSystemManager;
21 import org.apache.commons.vfs.FilesCache;
22 import org.apache.commons.vfs.impl.DefaultFileSystemManager;
23 import org.apache.commons.vfs.test.ProviderTestConfig;
24
25 /**
26  * A provider config that wraps another provider, to run the tests via
27  * junctions.
28  *
29  * @author <a HREF="mailto:adammurdoch@apache.org">Adam Murdoch</a>
30  */

31 public class JunctionProviderConfig
32     implements ProviderTestConfig
33 {
34     private final ProviderTestConfig config;
35
36     public JunctionProviderConfig(final ProviderTestConfig config)
37     {
38         this.config = config;
39     }
40
41     public FilesCache getFilesCache()
42     {
43         return config.getFilesCache();
44     }
45
46     /**
47      * Prepares the file system manager.
48      */

49     public void prepare(final DefaultFileSystemManager manager) throws Exception JavaDoc
50     {
51         config.prepare(manager);
52     }
53
54     /**
55      * Returns the base folder for tests.
56      */

57     public FileObject getBaseTestFolder(final FileSystemManager manager) throws Exception JavaDoc
58     {
59         final FileObject baseFolder = config.getBaseTestFolder(manager);
60
61         // Create an empty file system, then link in the base folder
62
final FileSystem newFs = manager.createVirtualFileSystem("vfs:").getFileSystem();
63         final String JavaDoc junctionPoint = "/some/dir";
64         newFs.addJunction(junctionPoint, baseFolder);
65
66         return newFs.resolveFile(junctionPoint);
67     }
68 }
69
Popular Tags