[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