[jboss-cvs] JBossAS SVN: r83078 - projects/vfs/trunk/src/main/java/org/jboss/virtual.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jan 19 10:40:08 EST 2009
Author: alesj
Date: 2009-01-19 10:40:08 -0500 (Mon, 19 Jan 2009)
New Revision: 83078
Modified:
projects/vfs/trunk/src/main/java/org/jboss/virtual/VFS.java
projects/vfs/trunk/src/main/java/org/jboss/virtual/VirtualFile.java
Log:
Remove from cache if file == root.
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/VFS.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/VFS.java 2009-01-19 14:40:08 UTC (rev 83077)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/VFS.java 2009-01-19 15:40:08 UTC (rev 83078)
@@ -27,13 +27,13 @@
import java.util.List;
import org.jboss.virtual.plugins.vfs.helpers.WrappingVirtualFileHandlerVisitor;
+import org.jboss.virtual.spi.ExceptionHandler;
import org.jboss.virtual.spi.VFSContext;
import org.jboss.virtual.spi.VFSContextFactory;
import org.jboss.virtual.spi.VFSContextFactoryLocator;
import org.jboss.virtual.spi.VirtualFileHandler;
-import org.jboss.virtual.spi.ExceptionHandler;
+import org.jboss.virtual.spi.cache.VFSCache;
import org.jboss.virtual.spi.cache.VFSCacheFactory;
-import org.jboss.virtual.spi.cache.VFSCache;
/**
* Virtual File System
@@ -115,6 +115,31 @@
}
/**
+ * Cleanup any resources tied to this file.
+ * e.g. vfs cache
+ *
+ * @param file the file
+ */
+ static void cleanup(VirtualFile file)
+ {
+ try
+ {
+ VirtualFileHandler fileHandler = file.getHandler();
+ VFSContext context = fileHandler.getVFSContext();
+ VirtualFileHandler contextHandler = context.getRoot();
+ // the file is the context root, hence possible cache candidate
+ if (fileHandler.equals(contextHandler))
+ {
+ VFSCache cache = VFSCacheFactory.getInstance();
+ cache.removeContext(context);
+ }
+ }
+ catch (Exception ignored)
+ {
+ }
+ }
+
+ /**
* Get the virtual file system for a root uri
*
* @param rootURI the root URI
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/VirtualFile.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/VirtualFile.java 2009-01-19 14:40:08 UTC (rev 83077)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/VirtualFile.java 2009-01-19 15:40:08 UTC (rev 83078)
@@ -268,7 +268,14 @@
*/
public void cleanup()
{
- getHandler().cleanup();
+ try
+ {
+ getHandler().cleanup();
+ }
+ finally
+ {
+ VFS.cleanup(this);
+ }
}
/**
More information about the jboss-cvs-commits
mailing list