[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