[jboss-cvs] JBossAS SVN: r82784 - projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jan 12 12:19:09 EST 2009


Author: alesj
Date: 2009-01-12 12:19:09 -0500 (Mon, 12 Jan 2009)
New Revision: 82784

Modified:
   projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileHandler.java
Log:
Initial [JBVFS-85] impl - adding missing close.

Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileHandler.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileHandler.java	2009-01-12 17:17:54 UTC (rev 82783)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileHandler.java	2009-01-12 17:19:09 UTC (rev 82784)
@@ -270,6 +270,7 @@
       // if the child has been modified on disk then create a new handler
       if (handler != null && handler.hasBeenModified())
       {
+         handler.close(); // close old cached one
          handler = null;
       }
       if (handler == null)
@@ -336,12 +337,25 @@
 
    public boolean removeChild(String name) throws IOException
    {
-      return childCache.remove(name) != null;
+      VirtualFileHandler fileHandler = childCache.remove(name);
+      if (fileHandler != null)
+      {
+         fileHandler.close();
+         return true;
+      }
+      else
+      {
+         return false;
+      }
    }
 
    protected void internalReplaceChild(VirtualFileHandler original, VirtualFileHandler replacement)
    {
-      childCache.put(original.getName(), replacement);
+      VirtualFileHandler previousHandler = childCache.put(original.getName(), replacement);
+      if (previousHandler != null)
+      {
+         previousHandler.close();
+      }
    }
 
    private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException




More information about the jboss-cvs-commits mailing list