Author: imario
Date: Mon Oct 2 12:46:01 2006
New Revision: 452181
URL: http://svn.apache.org/viewvc?view=rev&rev=452181
Log:
VFS-81: pass down the FileName instance down to the filesystem to not loose the
url query parameters
fixed test-problems with the virtualFileSytem test case
Modified:
jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileProvider.java
jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java
jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/AbstractProviderTestCase.java
jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/ProviderCacheStrategyTests.java
Modified:
jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileProvider.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileProvider.java?view=diff&rev=452181&r1=452180&r2=452181
==============================================================================
---
jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileProvider.java
(original)
+++
jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileProvider.java
Mon Oct 2 12:46:01 2006
@@ -146,7 +146,10 @@
synchronized (fileSystems)
{
- fileSystems.remove(fs.getCacheKey());
+ if (fs.getCacheKey() != null)
+ {
+ fileSystems.remove(fs.getCacheKey());
+ }
}
removeComponent(fs);
Modified:
jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java?view=diff&rev=452181&r1=452180&r2=452181
==============================================================================
---
jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java
(original)
+++
jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java
Mon Oct 2 12:46:01 2006
@@ -78,7 +78,8 @@
}
// Locate the file
- return fs.resolveFile(name.getPath());
+ // return fs.resolveFile(name.getPath());
+ return fs.resolveFile(name);
}
/**
Modified:
jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/AbstractProviderTestCase.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/AbstractProviderTestCase.java?view=diff&rev=452181&r1=452180&r2=452181
==============================================================================
---
jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/AbstractProviderTestCase.java
(original)
+++
jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/AbstractProviderTestCase.java
Mon Oct 2 12:46:01 2006
@@ -22,6 +22,7 @@
import org.apache.commons.vfs.FileObject;
import org.apache.commons.vfs.FileSystemException;
import org.apache.commons.vfs.FileType;
+import org.apache.commons.vfs.FileSystemManager;
import org.apache.commons.vfs.impl.DefaultFileSystemManager;
import org.apache.commons.vfs.provider.AbstractFileSystem;
import org.apache.commons.vfs.provider.local.DefaultLocalFileProvider;
@@ -105,6 +106,15 @@
fs.addProvider("file", new DefaultLocalFileProvider());
}
return fs;
+ }
+
+ /**
+ * some provider config do some post-initialization in getBaseTestFolder.
+ * This is a hack to allow access to this code for
<code>createManager</code>
+ */
+ protected FileObject getBaseTestFolder(FileSystemManager fs) throws
Exception
+ {
+ return providerConfig.getBaseTestFolder(fs);
}
/**
Modified:
jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/ProviderCacheStrategyTests.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/ProviderCacheStrategyTests.java?view=diff&rev=452181&r1=452180&r2=452181
==============================================================================
---
jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/ProviderCacheStrategyTests.java
(original)
+++
jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/ProviderCacheStrategyTests.java
Mon Oct 2 12:46:01 2006
@@ -22,6 +22,7 @@
import org.apache.commons.vfs.provider.ram.RamFileObject;
import org.apache.commons.vfs.util.FileObjectUtils;
import org.apache.commons.vfs.impl.DefaultFileSystemManager;
+import org.apache.commons.vfs.impl.VirtualFileSystem;
/**
* Test the cache stragey
@@ -49,20 +50,22 @@
*/
public void testManualCache() throws Exception
{
- if (FileObjectUtils.isInstanceOf(getBaseFolder(), RamFileObject.class))
+ FileObject scratchFolder = getWriteFolder();
+ if (FileObjectUtils.isInstanceOf(getBaseFolder(), RamFileObject.class)
||
+ scratchFolder.getFileSystem() instanceof VirtualFileSystem)
{
// cant check ram filesystem as every manager holds its own ram
filesystem data
return;
}
- FileObject scratchFolder = getWriteFolder();
scratchFolder.delete(Selectors.EXCLUDE_SELF);
DefaultFileSystemManager fs = createManager();
fs.setCacheStrategy(CacheStrategy.MANUAL);
fs.init();
-
- FileObject cachedFolder =
fs.resolveFile(scratchFolder.getName().getURI());
+ FileObject foBase2 = getBaseTestFolder(fs);
+
+ FileObject cachedFolder =
foBase2.resolveFile(scratchFolder.getName().getPath());
FileObject[] fos = cachedFolder.getChildren();
assertContainsNot(fos, "file1.txt");
@@ -82,20 +85,22 @@
*/
public void testOnResolveCache() throws Exception
{
- if (FileObjectUtils.isInstanceOf(getBaseFolder(), RamFileObject.class))
+ FileObject scratchFolder = getWriteFolder();
+ if (FileObjectUtils.isInstanceOf(getBaseFolder(), RamFileObject.class)
||
+ scratchFolder.getFileSystem() instanceof VirtualFileSystem)
{
// cant check ram filesystem as every manager holds its own ram
filesystem data
return;
}
- FileObject scratchFolder = getWriteFolder();
scratchFolder.delete(Selectors.EXCLUDE_SELF);
DefaultFileSystemManager fs = createManager();
fs.setCacheStrategy(CacheStrategy.ON_RESOLVE);
fs.init();
-
- FileObject cachedFolder =
fs.resolveFile(scratchFolder.getName().getURI());
+ FileObject foBase2 = getBaseTestFolder(fs);
+
+ FileObject cachedFolder =
foBase2.resolveFile(scratchFolder.getName().getPath());
FileObject[] fos = cachedFolder.getChildren();
assertContainsNot(fos, "file1.txt");
@@ -105,7 +110,7 @@
fos = cachedFolder.getChildren();
assertContainsNot(fos, "file1.txt");
- cachedFolder = fs.resolveFile(scratchFolder.getName().getURI());
+ cachedFolder = foBase2.resolveFile(scratchFolder.getName().getPath());
fos = cachedFolder.getChildren();
assertContains(fos, "file1.txt");
}
@@ -115,20 +120,22 @@
*/
public void testOnCallCache() throws Exception
{
- if (FileObjectUtils.isInstanceOf(getBaseFolder(), RamFileObject.class))
+ FileObject scratchFolder = getWriteFolder();
+ if (FileObjectUtils.isInstanceOf(getBaseFolder(), RamFileObject.class)
||
+ scratchFolder.getFileSystem() instanceof VirtualFileSystem)
{
// cant check ram filesystem as every manager holds its own ram
filesystem data
return;
}
- FileObject scratchFolder = getWriteFolder();
scratchFolder.delete(Selectors.EXCLUDE_SELF);
DefaultFileSystemManager fs = createManager();
fs.setCacheStrategy(CacheStrategy.ON_CALL);
fs.init();
-
- FileObject cachedFolder =
fs.resolveFile(scratchFolder.getName().getURI());
+ FileObject foBase2 = getBaseTestFolder(fs);
+
+ FileObject cachedFolder =
foBase2.resolveFile(scratchFolder.getName().getPath());
FileObject[] fos = cachedFolder.getChildren();
assertContainsNot(fos, "file1.txt");
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]