[jboss-cvs] container/src/main/org/jboss/vfs/classloading ...

Scott Stark scott.stark at jboss.com
Mon Jul 17 23:53:21 EDT 2006


  User: starksm 
  Date: 06/07/17 23:53:21

  Modified:    src/main/org/jboss/vfs/classloading  SecurityActions.java
  Log:
  Add getPolicy action and remove the public visibility on the class
  
  Revision  Changes    Path
  1.2       +32 -3     container/src/main/org/jboss/vfs/classloading/SecurityActions.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: SecurityActions.java
  ===================================================================
  RCS file: /cvsroot/jboss/container/src/main/org/jboss/vfs/classloading/SecurityActions.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- SecurityActions.java	14 Jul 2006 15:10:18 -0000	1.1
  +++ SecurityActions.java	18 Jul 2006 03:53:21 -0000	1.2
  @@ -21,18 +21,27 @@
    */
   package org.jboss.vfs.classloading;
   
  -import java.security.PrivilegedAction;
   import java.security.AccessController;
  +import java.security.Policy;
  +import java.security.PrivilegedAction;
   
   import org.jboss.vfs.spi.ReadOnlyVFS;
   
   /**
    Package priviledged actions
    @author Scott.Stark at jboss.org
  - @version $Revision: 1.1 $
  + @version $Revision: 1.2 $
    */
  -public class SecurityActions
  +class SecurityActions
   {
  +   static PrivilegedAction<Policy> getPolicyAction = new PrivilegedAction<Policy>()
  +   {
  +      public Policy run()
  +      {
  +         return Policy.getPolicy();
  +      }
  +   };
  +
      interface ClassLoaderActions
      {
         ClassLoaderActions PRIVILEGED = new ClassLoaderActions()
  @@ -48,6 +57,10 @@
               };
               return AccessController.doPrivileged(action);
            }
  +         public Policy getPolicy()
  +         {
  +            return AccessController.doPrivileged(getPolicyAction);
  +         }
         };
   
         ClassLoaderActions NON_PRIVILEGED = new ClassLoaderActions()
  @@ -56,9 +69,14 @@
            {
               return new VFSClassLoader(paths, vfs);
            }
  +         public Policy getPolicy()
  +         {
  +            return Policy.getPolicy();
  +         }
         };
   
         VFSClassLoader newClassLoader(final String[] paths, final ReadOnlyVFS vfs);
  +      Policy getPolicy();
      }
   
      static VFSClassLoader newClassLoader(final String[] paths, final ReadOnlyVFS vfs)
  @@ -72,5 +90,16 @@
            return ClassLoaderActions.PRIVILEGED.newClassLoader(paths, vfs);
         }
      }
  +   static Policy getPolicy()
  +   {
  +      if(System.getSecurityManager() == null)
  +      {
  +         return ClassLoaderActions.NON_PRIVILEGED.getPolicy();
  +      }
  +      else
  +      {
  +         return ClassLoaderActions.PRIVILEGED.getPolicy();
  +      }      
  +   }
   
   }
  
  
  



More information about the jboss-cvs-commits mailing list