[jboss-cvs] JBossAS SVN: r80716 - in projects/vfs/trunk/src/main/java/org/jboss/virtual: plugins/cache and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun Nov 9 07:09:26 EST 2008
Author: alesj
Date: 2008-11-09 07:09:25 -0500 (Sun, 09 Nov 2008)
New Revision: 80716
Modified:
projects/vfs/trunk/src/main/java/org/jboss/virtual/VFS.java
projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/AbstractVFSCache.java
projects/vfs/trunk/src/main/java/org/jboss/virtual/protocol/AbstractVFSHandler.java
projects/vfs/trunk/src/main/java/org/jboss/virtual/spi/cache/VFSCache.java
projects/vfs/trunk/src/main/java/org/jboss/virtual/spi/cache/helpers/NoopVFSCache.java
Log:
[JBVFS-74]; VFSCache::getFile returns null if not found in cache.
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/VFS.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/VFS.java 2008-11-09 04:56:26 UTC (rev 80715)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/VFS.java 2008-11-09 12:09:25 UTC (rev 80716)
@@ -123,7 +123,11 @@
public static VirtualFile getCachedFile(URI rootURI) throws IOException
{
VFSCache cache = VFSCacheFactory.getInstance();
- return cache.getFile(rootURI);
+ VirtualFile file = cache.getFile(rootURI);
+ if (file == null)
+ file = VFS.getRoot(rootURI);
+
+ return file;
}
/**
@@ -188,7 +192,11 @@
public static VirtualFile getCachedFile(URL rootURL) throws IOException
{
VFSCache cache = VFSCacheFactory.getInstance();
- return cache.getFile(rootURL);
+ VirtualFile file = cache.getFile(rootURL);
+ if (file == null)
+ file = VFS.getRoot(rootURL);
+
+ return file;
}
/**
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/AbstractVFSCache.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/AbstractVFSCache.java 2008-11-09 04:56:26 UTC (rev 80715)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/AbstractVFSCache.java 2008-11-09 12:09:25 UTC (rev 80716)
@@ -29,7 +29,6 @@
import java.util.concurrent.locks.ReentrantReadWriteLock;
import org.jboss.logging.Logger;
-import org.jboss.virtual.VFS;
import org.jboss.virtual.VFSUtils;
import org.jboss.virtual.VirtualFile;
import org.jboss.virtual.spi.VFSContext;
@@ -71,7 +70,7 @@
VirtualFileHandler child = root.getChild(relativePath);
return child.getVirtualFile();
}
- return VFS.getRoot(uri);
+ return null;
}
/**
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/protocol/AbstractVFSHandler.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/protocol/AbstractVFSHandler.java 2008-11-09 04:56:26 UTC (rev 80715)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/protocol/AbstractVFSHandler.java 2008-11-09 12:09:25 UTC (rev 80716)
@@ -30,7 +30,10 @@
import java.util.Map;
import java.util.WeakHashMap;
+import org.jboss.virtual.VirtualFile;
import org.jboss.virtual.plugins.vfs.VirtualFileURLConnection;
+import org.jboss.virtual.spi.cache.VFSCache;
+import org.jboss.virtual.spi.cache.VFSCacheFactory;
/**
* VFS's file URL handler.
@@ -65,6 +68,11 @@
protected URLConnection openConnection(URL url) throws IOException
{
+ VFSCache cache = VFSCacheFactory.getInstance();
+ VirtualFile vf = cache.getFile(url);
+ if (vf != null)
+ return new VirtualFileURLConnection(url, vf);
+
String file = URLDecoder.decode(url.toExternalForm(), "UTF-8").substring(getProtocolNameLength() + 1); // strip out vfs protocol + :
URL vfsurl = null;
String relative;
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/spi/cache/VFSCache.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/spi/cache/VFSCache.java 2008-11-09 04:56:26 UTC (rev 80715)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/spi/cache/VFSCache.java 2008-11-09 12:09:25 UTC (rev 80716)
@@ -37,18 +37,22 @@
{
/**
* Get the file.
+ * Check the cache for cached entry,
+ * return null if no matching entry exists.
*
* @param uri the file's uri
- * @return virtual file instance
+ * @return virtual file instance or null if it doesn't exist in cache
* @throws IOException for any error
*/
VirtualFile getFile(URI uri) throws IOException;
/**
* Get the file.
+ * Check the cache for cached entry,
+ * return null if no matching entry exists.
*
* @param url the file's url
- * @return virtual file instance
+ * @return virtual file instance or null if it doesn't exist in cache
* @throws IOException for any error
*/
VirtualFile getFile(URL url) throws IOException;
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/spi/cache/helpers/NoopVFSCache.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/spi/cache/helpers/NoopVFSCache.java 2008-11-09 04:56:26 UTC (rev 80715)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/spi/cache/helpers/NoopVFSCache.java 2008-11-09 12:09:25 UTC (rev 80716)
@@ -21,12 +21,11 @@
*/
package org.jboss.virtual.spi.cache.helpers;
+import java.io.IOException;
import java.net.URI;
import java.net.URL;
-import java.io.IOException;
import org.jboss.virtual.VirtualFile;
-import org.jboss.virtual.VFS;
import org.jboss.virtual.spi.VFSContext;
import org.jboss.virtual.spi.cache.VFSCache;
@@ -40,12 +39,12 @@
{
public VirtualFile getFile(URI uri) throws IOException
{
- return VFS.getRoot(uri);
+ return null;
}
public VirtualFile getFile(URL url) throws IOException
{
- return VFS.getRoot(url);
+ return null;
}
public void putContext(VFSContext context)
More information about the jboss-cvs-commits
mailing list