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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Dec 27 07:51:55 EST 2007


Author: alesj
Date: 2007-12-27 07:51:55 -0500 (Thu, 27 Dec 2007)
New Revision: 68575

Modified:
   projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/jar/AbstractStructuredJarHandler.java
Log:
ForceNoCopy system property.

Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/jar/AbstractStructuredJarHandler.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/jar/AbstractStructuredJarHandler.java	2007-12-27 12:38:15 UTC (rev 68574)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/jar/AbstractStructuredJarHandler.java	2007-12-27 12:51:55 UTC (rev 68575)
@@ -34,6 +34,8 @@
 import java.util.jar.JarFile;
 import java.util.jar.JarEntry;
 import java.util.zip.ZipEntry;
+import java.security.PrivilegedAction;
+import java.security.AccessController;
 
 import org.jboss.virtual.plugins.context.StructuredVirtualFileHandler;
 import org.jboss.virtual.plugins.context.HierarchyVirtualFileHandler;
@@ -61,6 +63,18 @@
    private transient Map<String, VirtualFileHandler> entryMap;
 
    /**
+    * Force no copy nested jar handler.
+    */
+   private static boolean forceNoCopy;
+
+   static
+   {
+      forceNoCopy = AccessController.doPrivileged(new CheckForceNoCopy());
+      if (forceNoCopy)
+         log.info("VFS force NoCopyJarHandler is enabled.");
+   }
+
+   /**
     * Create a new JarHandler.
     *
     * @param context the context
@@ -286,7 +300,7 @@
          String flag = context.getOptions().get("useNoCopyJarHandler");
          boolean useNoCopyJarHandler = Boolean.valueOf(flag);
 
-         if (useNoCopyJarHandler)
+         if (useNoCopyJarHandler || forceNoCopy)
             vfh = new NoCopyNestedJarHandler(context, parent, getJar(), entry, url, entryName);
          else
             vfh = NestedJarHandler.create(context, parent, getJar(), entry, url, entryName);
@@ -334,4 +348,16 @@
          return new ZipEntryWrapper<T>(entry);
       }
    }
+
+   /**
+    * Check if force no copy system property exists.
+    */
+   private static class CheckForceNoCopy implements PrivilegedAction<Boolean>
+   {
+      public Boolean run()
+      {
+         String forceString = System.getProperty("jboss.vfs.forceNoCopy", "false");
+         return Boolean.valueOf(forceString);
+      }
+   }
 }




More information about the jboss-cvs-commits mailing list