You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mc...@apache.org on 2011/10/17 00:58:06 UTC

svn commit: r1184953 - in /commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl: OgnlRuntime.java internal/entry/MethodPermCacheEntryFactory.java

Author: mcucchiara
Date: Sun Oct 16 22:58:05 2011
New Revision: 1184953

URL: http://svn.apache.org/viewvc?rev=1184953&view=rev
Log:
Allow to dynamically change securityManager implementation

Modified:
    commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
    commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/internal/entry/MethodPermCacheEntryFactory.java

Modified: commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/OgnlRuntime.java?rev=1184953&r1=1184952&r2=1184953&view=diff
==============================================================================
--- commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/OgnlRuntime.java (original)
+++ commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/OgnlRuntime.java Sun Oct 16 22:58:05 2011
@@ -217,8 +217,11 @@ public class OgnlRuntime
 
     static final IntHashMap<Integer, Boolean> _methodAccessCache = new IntHashMap<Integer, Boolean>( );
 
+    private static final MethodPermCacheEntryFactory methodPermCacheEntryFactory =
+        new MethodPermCacheEntryFactory( _securityManager );
+
     static final Cache<Method, Boolean> _methodPermCache =
-        new ConcurrentHashMapCache<Method, Boolean>( new MethodPermCacheEntryFactory( _securityManager ) );
+        new ConcurrentHashMapCache<Method, Boolean>( methodPermCacheEntryFactory );
 
     static ClassCacheInspector _cacheInspector;
 
@@ -744,6 +747,7 @@ public class OgnlRuntime
     public static void setSecurityManager( SecurityManager value )
     {
         _securityManager = value;
+        methodPermCacheEntryFactory.setSecurityManager( value );
     }
 
     /**

Modified: commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/internal/entry/MethodPermCacheEntryFactory.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/internal/entry/MethodPermCacheEntryFactory.java?rev=1184953&r1=1184952&r2=1184953&view=diff
==============================================================================
--- commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/internal/entry/MethodPermCacheEntryFactory.java (original)
+++ commons/proper/ognl/branches/new-cache-approach/src/main/java/org/apache/commons/ognl/internal/entry/MethodPermCacheEntryFactory.java Sun Oct 16 22:58:05 2011
@@ -34,4 +34,9 @@ public class MethodPermCacheEntryFactory
         }
 
     }
+
+    public void setSecurityManager( SecurityManager securityManager )
+    {
+        this.securityManager = securityManager;
+    }
 }