Author: peter_firmstone
Date: Sat Mar 17 12:29:52 2012
New Revision: 1301929

URL: http://svn.apache.org/viewvc?rev=1301929&view=rev
Log:
Cleaning, deleting and reorganising

Added:
    river/jtsk/trunk/dep-libs/
    river/jtsk/trunk/dep-libs/animal-sniffer/
    river/jtsk/trunk/dep-libs/animal-sniffer/README
      - copied unchanged from r1290965, river/jtsk/trunk/animal-sniffer/README
    river/jtsk/trunk/dep-libs/animal-sniffer/animal-sniffer-1.6.jar
      - copied unchanged from r1290965, 
river/jtsk/trunk/animal-sniffer/animal-sniffer-1.6.jar
    river/jtsk/trunk/dep-libs/animal-sniffer/animal-sniffer-ant-tasks-1.6.jar
      - copied unchanged from r1290965, 
river/jtsk/trunk/animal-sniffer/animal-sniffer-ant-tasks-1.6.jar
    river/jtsk/trunk/dep-libs/animal-sniffer/animal-sniffer.LICENSE
      - copied unchanged from r1290965, 
river/jtsk/trunk/animal-sniffer/animal-sniffer.LICENSE
    river/jtsk/trunk/dep-libs/animal-sniffer/java14-1.0.signature
      - copied unchanged from r1290965, 
river/jtsk/trunk/animal-sniffer/java14-1.0.signature
    river/jtsk/trunk/dep-libs/animal-sniffer/java14-sun-1.0.signature
      - copied unchanged from r1290965, 
river/jtsk/trunk/animal-sniffer/java14-sun-1.0.signature
    river/jtsk/trunk/dep-libs/animal-sniffer/java15-1.0.signature
      - copied unchanged from r1290965, 
river/jtsk/trunk/animal-sniffer/java15-1.0.signature
    river/jtsk/trunk/dep-libs/animal-sniffer/java15-ibm-1.0.signature
      - copied unchanged from r1290965, 
river/jtsk/trunk/animal-sniffer/java15-ibm-1.0.signature
    river/jtsk/trunk/dep-libs/animal-sniffer/java15-sun-1.0.signature
      - copied unchanged from r1290965, 
river/jtsk/trunk/animal-sniffer/java15-sun-1.0.signature
    river/jtsk/trunk/dep-libs/asm/
    river/jtsk/trunk/dep-libs/asm/README
      - copied unchanged from r1290965, river/jtsk/trunk/asm/README
    river/jtsk/trunk/dep-libs/asm/asm-3.2.jar
      - copied unchanged from r1290965, river/jtsk/trunk/asm/asm-3.2.jar
    river/jtsk/trunk/dep-libs/asm/asm-commons-3.2.jar
      - copied unchanged from r1290965, river/jtsk/trunk/asm/asm-commons-3.2.jar
    river/jtsk/trunk/dep-libs/asm/asm-tree-3.2.jar
      - copied unchanged from r1290965, river/jtsk/trunk/asm/asm-tree-3.2.jar
    river/jtsk/trunk/dep-libs/asm/asm.LICENSE
      - copied unchanged from r1290965, river/jtsk/trunk/asm/asm.LICENSE
    river/jtsk/trunk/dep-libs/bouncy-castle/
    river/jtsk/trunk/dep-libs/bouncy-castle/bcmail-jdk16-146.jar
      - copied unchanged from r1290965, 
river/jtsk/trunk/bouncy-castle/bcmail-jdk16-146.jar
    river/jtsk/trunk/dep-libs/bouncy-castle/bcpg-jdk16-146.jar
      - copied unchanged from r1290965, 
river/jtsk/trunk/bouncy-castle/bcpg-jdk16-146.jar
    river/jtsk/trunk/dep-libs/bouncy-castle/bcprov-jdk16-146.jar
      - copied unchanged from r1290965, 
river/jtsk/trunk/bouncy-castle/bcprov-jdk16-146.jar
    river/jtsk/trunk/dep-libs/bouncy-castle/bctest-jdk16-146.jar
      - copied unchanged from r1290965, 
river/jtsk/trunk/bouncy-castle/bctest-jdk16-146.jar
    river/jtsk/trunk/dep-libs/bouncy-castle/bctsp-jdk16-146.jar
      - copied unchanged from r1290965, 
river/jtsk/trunk/bouncy-castle/bctsp-jdk16-146.jar
    river/jtsk/trunk/dep-libs/high-scale-lib/
    river/jtsk/trunk/dep-libs/high-scale-lib/high-scale-lib.jar
      - copied unchanged from r1290965, 
river/jtsk/trunk/high-scale-lib/high-scale-lib.jar
    river/jtsk/trunk/dep-libs/rc-libs/
    river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-javadoc.jar   
(with props)
    river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-sources.jar   
(with props)
    
river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-test-sources.jar  
 (with props)
    river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0.jar   (with 
props)
    river/jtsk/trunk/dep-libs/velocity/
    river/jtsk/trunk/dep-libs/velocity/LICENSE
      - copied unchanged from r1290965, river/jtsk/trunk/velocity/LICENSE
    river/jtsk/trunk/dep-libs/velocity/NOTICE
      - copied unchanged from r1290965, river/jtsk/trunk/velocity/NOTICE
    river/jtsk/trunk/dep-libs/velocity/README
      - copied unchanged from r1290965, river/jtsk/trunk/velocity/README
    river/jtsk/trunk/dep-libs/velocity/velocity-1.7.jar
      - copied unchanged from r1290965, 
river/jtsk/trunk/velocity/velocity-1.7.jar
    
river/jtsk/trunk/src/org/apache/river/api/security/CombinerSecurityManager.java
      - copied, changed from r1290965, 
river/jtsk/trunk/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java
    
river/jtsk/trunk/test/src/org/apache/river/api/security/CombinerSecurityManagerTest.java
      - copied, changed from r1290965, 
river/jtsk/trunk/test/src/org/apache/river/api/security/DelegateCombinerSecurityManagerTest.java
Removed:
    river/jtsk/trunk/src/org/apache/river/api/delegates/DelegateInputStream.java
    
river/jtsk/trunk/src/org/apache/river/api/delegates/DelegateOutputStream.java
    river/jtsk/trunk/src/org/apache/river/api/delegates/DelegatePermission.java
    river/jtsk/trunk/src/org/apache/river/api/delegates/DelegateSocket.java
    
river/jtsk/trunk/src/org/apache/river/api/delegates/DelegateSocketChannel.java
    
river/jtsk/trunk/src/org/apache/river/api/delegates/DelegateSocketFactory.java
    river/jtsk/trunk/src/org/apache/river/api/delegates/FileInputStream.java
    river/jtsk/trunk/src/org/apache/river/api/delegates/FileOutputStream.java
    
river/jtsk/trunk/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java
    
river/jtsk/trunk/test/src/org/apache/river/api/security/DelegateCombinerSecurityManagerTest.java
Modified:
    river/jtsk/trunk/common.xml
    river/jtsk/trunk/hudson.xml
    river/jtsk/trunk/qa/src/com/sun/jini/qa/harness/MasterTest.java
    river/jtsk/trunk/src/com/sun/jini/start/AggregatePolicyProvider.java
    river/jtsk/trunk/src/com/sun/jini/start/LoaderSplitPolicyProvider.java
    river/jtsk/trunk/src/net/jini/security/policy/DynamicPolicyProvider.java
    river/jtsk/trunk/src/org/apache/river/api/security/PermissionComparator.java
    
river/jtsk/trunk/src/org/apache/river/impl/security/dos/IsolatedExecutor.java

Modified: river/jtsk/trunk/common.xml
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/common.xml?rev=1301929&r1=1301928&r2=1301929&view=diff
==============================================================================
--- river/jtsk/trunk/common.xml (original)
+++ river/jtsk/trunk/common.xml Sat Mar 17 12:29:52 2012
@@ -125,24 +125,29 @@
         <pathelement path="${river.classes.dir}"/>
     </path>
 
-    <fileset id="asm.jars" dir="${root}/asm">
+    <fileset id="asm.jars" dir="${root}/dep-libs/asm">
         <include name="asm-3.2.jar" />
         <include name="asm-commons-3.2.jar" />
     </fileset>
 
-    <fileset id="velocity.jars" dir="${root}/velocity">
+    <fileset id="velocity.jars" dir="${root}/dep-libs/velocity">
         <include name="velocity-1.7.jar" />
     </fileset>
     
-    <fileset id="high-scale-lib.jars" dir="${root}/high-scale-lib">
+    <fileset id="high-scale-lib.jars" dir="${root}/dep-libs/high-scale-lib">
         <include name="high-scale-lib.jar" />
     </fileset>
     
+    <fileset id="reference-collections.jar" dir="${root}/dep-libs/rc-libs">
+        <include name="reference-collections-1.0.0.jar" />
+    </fileset>
+    
 
     <path id="compile.classpath" >
         <fileset refid="asm.jars" />
         <fileset refid="velocity.jars" />
         <fileset refid="high-scale-lib.jars" />
+        <fileset refid="reference-collections.jar" />
     </path>
 
 

Added: river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-javadoc.jar
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-javadoc.jar?rev=1301929&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-javadoc.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-sources.jar
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-sources.jar?rev=1301929&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-sources.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-test-sources.jar
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-test-sources.jar?rev=1301929&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0-test-sources.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0.jar
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0.jar?rev=1301929&view=auto
==============================================================================
Binary file - no diff available.

Propchange: river/jtsk/trunk/dep-libs/rc-libs/reference-collections-1.0.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: river/jtsk/trunk/hudson.xml
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/hudson.xml?rev=1301929&r1=1301928&r2=1301929&view=diff
==============================================================================
--- river/jtsk/trunk/hudson.xml (original)
+++ river/jtsk/trunk/hudson.xml Sat Mar 17 12:29:52 2012
@@ -31,7 +31,7 @@
 
     <typedef uri="antlib:org.codehaus.mojo.animal_sniffer">
         <classpath>
-            <fileset dir="animal-sniffer">
+            <fileset dir="dep-libs/animal-sniffer">
                 <include name="**/*.jar"/>
             </fileset>
             <fileset dir="asm">
@@ -51,7 +51,7 @@
         <attribute name="signature" />
         <sequential>
             <as:check-signature signature="@{signature}" >
-                <path path="asm/asm-tree-3.2.jar" />
+                <path path="dep-libs/asm/asm-tree-3.2.jar" />
                 <path path="lib" />
                 <path path="lib-dl" />
                 <ignore className="org.apache.velocity.app.VelocityEngine"/>
@@ -62,23 +62,23 @@
     </macrodef>
 
     <target name="verify-14" >
-        <verify-signature signature="animal-sniffer/java14-1.0.signature" />
+        <verify-signature 
signature="dep-libs/animal-sniffer/java14-1.0.signature" />
     </target>
 
     <target name="verify-14-sun" >
-        <verify-signature signature="animal-sniffer/java14-sun-1.0.signature" 
/>
+        <verify-signature 
signature="dep-libs/animal-sniffer/java14-sun-1.0.signature" />
     </target>
 
     <target name="verify-15" >
-        <verify-signature signature="animal-sniffer/java15-1.0.signature" />
+        <verify-signature 
signature="dep-libs/animal-sniffer/java15-1.0.signature" />
     </target>
 
     <target name="verify-15-sun" >
-        <verify-signature signature="animal-sniffer/java15-sun-1.0.signature" 
/>
+        <verify-signature 
signature="dep-libs/animal-sniffer/java15-sun-1.0.signature" />
     </target>
 
     <target name="verify-15-ibm" >
-        <verify-signature signature="animal-sniffer/java15-ibm-1.0.signature" 
/>
+        <verify-signature 
signature="dep-libs/animal-sniffer/java15-ibm-1.0.signature" />
     </target>
 
     <target name="qa-runtime" description="build QA runtime" >

Modified: river/jtsk/trunk/qa/src/com/sun/jini/qa/harness/MasterTest.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/qa/src/com/sun/jini/qa/harness/MasterTest.java?rev=1301929&r1=1301928&r2=1301929&view=diff
==============================================================================
--- river/jtsk/trunk/qa/src/com/sun/jini/qa/harness/MasterTest.java (original)
+++ river/jtsk/trunk/qa/src/com/sun/jini/qa/harness/MasterTest.java Sat Mar 17 
12:29:52 2012
@@ -36,7 +36,7 @@ import javax.security.auth.Subject;
 
 import net.jini.config.Configuration;
 import net.jini.config.ConfigurationException;
-import org.apache.river.api.security.DelegateCombinerSecurityManager;
+import org.apache.river.api.security.CombinerSecurityManager;
 
 /**
  * A wrapper which drives the execution of a test on the master host.
@@ -86,7 +86,7 @@ class MasterTest {
         if (System.getSecurityManager() == null) {
 //         System.setSecurityManager(new java.rmi.RMISecurityManager());
 //            System.setSecurityManager(new ProfilingSecurityManager());
-            System.setSecurityManager(new DelegateCombinerSecurityManager());
+            System.setSecurityManager(new CombinerSecurityManager());
        }
        if (args.length < 1) {
            exit(false, Test.ENV, "Arguments missing");

Modified: river/jtsk/trunk/src/com/sun/jini/start/AggregatePolicyProvider.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/src/com/sun/jini/start/AggregatePolicyProvider.java?rev=1301929&r1=1301928&r2=1301929&view=diff
==============================================================================
--- river/jtsk/trunk/src/com/sun/jini/start/AggregatePolicyProvider.java 
(original)
+++ river/jtsk/trunk/src/com/sun/jini/start/AggregatePolicyProvider.java Sat 
Mar 17 12:29:52 2012
@@ -45,9 +45,9 @@ import net.jini.security.policy.DynamicP
 import net.jini.security.policy.PolicyInitializationException;
 import net.jini.security.policy.SecurityContextSource;
 import org.apache.river.api.security.PermissionGrant;
-import org.apache.river.impl.util.RC;
-import org.apache.river.impl.util.Ref;
-import org.apache.river.impl.util.Referrer;
+import au.net.zeus.collection.RC;
+import au.net.zeus.collection.Ref;
+import au.net.zeus.collection.Referrer;
 
 /**
  * Security policy provider which supports associating security sub-policies
@@ -87,7 +87,7 @@ public class AggregatePolicyProvider 
     private static final ConcurrentMap<Class,Boolean> trustGetCCL
     = RC.concurrentMap(
             new ConcurrentHashMap<Referrer<Class>,Referrer<Boolean>>(), 
-            Ref.WEAK_IDENTITY, Ref.STRONG);
+            Ref.WEAK_IDENTITY, Ref.STRONG, 1000L, 0L);
     private static final ProtectionDomain myDomain 
         = AccessController.doPrivileged(
             new PrivilegedAction<ProtectionDomain>() {
@@ -103,7 +103,7 @@ public class AggregatePolicyProvider 
     private final ConcurrentMap<ClassLoader,Policy> 
subPolicyChildClassLoaderCache = // put protected by policyRead
             RC.concurrentMap(                                                  
      // clear protected by policyWrite
             new ConcurrentHashMap<Referrer<ClassLoader>,Referrer<Policy>>(),
-            Ref.WEAK_IDENTITY, Ref.STRONG);
+            Ref.WEAK_IDENTITY, Ref.STRONG, 1000L, 0L);
 //    private final ReadWriteLock policyUpdate = new ReentrantReadWriteLock(); 
 //    private final Lock policyRead = policyUpdate.readLock();
 //    private final Lock policyWrite = policyUpdate.writeLock();

Modified: river/jtsk/trunk/src/com/sun/jini/start/LoaderSplitPolicyProvider.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/src/com/sun/jini/start/LoaderSplitPolicyProvider.java?rev=1301929&r1=1301928&r2=1301929&view=diff
==============================================================================
--- river/jtsk/trunk/src/com/sun/jini/start/LoaderSplitPolicyProvider.java 
(original)
+++ river/jtsk/trunk/src/com/sun/jini/start/LoaderSplitPolicyProvider.java Sat 
Mar 17 12:29:52 2012
@@ -35,9 +35,9 @@ import java.util.concurrent.ConcurrentHa
 import java.util.concurrent.ConcurrentMap;
 import org.apache.river.api.security.ConcurrentPolicy;
 import org.apache.river.api.security.PermissionGrant;
-import org.apache.river.impl.util.RC;
-import org.apache.river.impl.util.Ref;
-import org.apache.river.impl.util.Referrer;
+import au.net.zeus.collection.RC;
+import au.net.zeus.collection.Ref;
+import au.net.zeus.collection.Referrer;
 
 /**
  * Security policy provider which handles permission queries and grants by
@@ -100,7 +100,7 @@ public class LoaderSplitPolicyProvider 
        this.defaultPolicy = defaultPolicy;
         delegateMap = RC.concurrentMap(
                 new ConcurrentHashMap<Referrer<ClassLoader>,Referrer<Policy>>()
-                ,Ref.WEAK_IDENTITY , Ref.STRONG);
+                ,Ref.WEAK_IDENTITY , Ref.STRONG, 1000L, 0L);
        ensureDependenciesResolved();
     }
 

Modified: 
river/jtsk/trunk/src/net/jini/security/policy/DynamicPolicyProvider.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/src/net/jini/security/policy/DynamicPolicyProvider.java?rev=1301929&r1=1301928&r2=1301929&view=diff
==============================================================================
--- river/jtsk/trunk/src/net/jini/security/policy/DynamicPolicyProvider.java 
(original)
+++ river/jtsk/trunk/src/net/jini/security/policy/DynamicPolicyProvider.java 
Sat Mar 17 12:29:52 2012
@@ -57,7 +57,6 @@ import org.apache.river.api.security.Per
 import org.apache.river.api.security.RemotePolicy;
 import org.apache.river.api.security.PolicyPermission;
 import org.apache.river.api.security.RevocablePolicy;
-import org.apache.river.impl.util.CollectionsConcurrent;
 
 /**
  * Security policy provider that supports dynamic granting of permissions at

Copied: 
river/jtsk/trunk/src/org/apache/river/api/security/CombinerSecurityManager.java 
(from r1290965, 
river/jtsk/trunk/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java)
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/src/org/apache/river/api/security/CombinerSecurityManager.java?p2=river/jtsk/trunk/src/org/apache/river/api/security/CombinerSecurityManager.java&p1=river/jtsk/trunk/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java&r1=1290965&r2=1301929&rev=1301929&view=diff
==============================================================================
--- 
river/jtsk/trunk/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java
 (original)
+++ 
river/jtsk/trunk/src/org/apache/river/api/security/CombinerSecurityManager.java 
Sat Mar 17 12:29:52 2012
@@ -47,14 +47,13 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 import net.jini.security.Security;
 import net.jini.security.SecurityContext;
-import org.apache.river.api.delegates.DelegatePermission;
-import org.apache.river.impl.util.RC;
-import org.apache.river.impl.util.Ref;
-import org.apache.river.impl.util.Referrer;
+import au.net.zeus.collection.RC;
+import au.net.zeus.collection.Ref;
+import au.net.zeus.collection.Referrer;
 import org.cliffc.high_scale_lib.NonBlockingHashMap;
 
 /**
- * DelegateCombinerSecurityManager, is intended to be a highly scalable
+ * CombinerSecurityManager, is intended to be a highly scalable
  * SecurityManager implementation that softly caches the results of security 
checks
  * for each context, which may be an instance of SecurityContext or
  * AccessControlContext.
@@ -75,9 +74,9 @@ import org.cliffc.high_scale_lib.NonBloc
  * 
  * @author Peter Firmstone
  */
-public class DelegateCombinerSecurityManager 
+public class CombinerSecurityManager 
 extends SecurityManager implements CachingSecurityManager {
-    private static final Logger logger = 
Logger.getLogger(DelegateCombinerSecurityManager.class.getName());
+    private static final Logger logger = 
Logger.getLogger(CombinerSecurityManager.class.getName());
     private final DomainCombiner dc;
     // Cache of optimised Delegate AccessControlContext's
     private final ConcurrentMap<AccessControlContext, AccessControlContext> 
contextCache;
@@ -92,7 +91,7 @@ extends SecurityManager implements Cachi
     private final ThreadLocal<SecurityContext> threadContext;
     private final ThreadLocal<Boolean> inTrustedCodeRecursiveCall;
     
-    public DelegateCombinerSecurityManager(){
+    public CombinerSecurityManager(){
         super();
         // Get context before this becomes a SecurityManager.
         // super() checked the permission to create a SecurityManager.
@@ -106,11 +105,11 @@ extends SecurityManager implements Cachi
                 Referrer<AccessControlContext>> internal = 
                 new NonBlockingHashMap<Referrer<AccessControlContext>, 
                 Referrer<AccessControlContext>>();
-        contextCache = RC.concurrentMap(internal, Ref.SOFT, Ref.STRONG);
+        contextCache = RC.concurrentMap(internal, Ref.TIME, Ref.STRONG, 
60000L, 0L);
         ConcurrentMap<Referrer<Object>, Referrer<NavigableSet<Permission>>> 
refmap 
                 = new NonBlockingHashMap<Referrer<Object>, 
                 Referrer<NavigableSet<Permission>>>();
-        checked = RC.concurrentMap(refmap, Ref.SOFT, Ref.STRONG);
+        checked = RC.concurrentMap(refmap, Ref.TIME, Ref.STRONG, 20000L, 0L);
         g = new SecurityPermission("getPolicy");
         Permission createAccPerm = new 
SecurityPermission("createAccessControlContext");
         action = new Action();
@@ -235,7 +234,7 @@ extends SecurityManager implements Cachi
              */
             NavigableSet<Referrer<Permission>> internal = 
                     new 
ConcurrentSkipListSet<Referrer<Permission>>(permCompare);
-            checkedPerms = RC.navigableSet(internal, Ref.SOFT);
+            checkedPerms = RC.navigableSet(internal, Ref.TIME, 5000L);
             inTrustedCodeRecursiveCall.set(Boolean.TRUE);
             try {
                 NavigableSet<Permission> existed = 
checked.putIfAbsent(context, checkedPerms);
@@ -345,13 +344,13 @@ extends SecurityManager implements Cachi
              * may perform a PrivilegedAction when it's 
              * getPermissions(ProtectionDomain pd) is later called for
              * ProtectionDomain's not in policy cache.
-             * However, DelegateCombinerSecurityManager and
+             * However, CombinerSecurityManager and
              * net.jini.security.Security cannot cache their shared 
              * ProtectionDomain, relying on the underlying policy instead.
              * 
              * When a standard java permission check
              * is made, the AccessController picks up the domain of 
-             * DelegateCombinerSecurityManager and net.jini.security.Security,
+             * CombinerSecurityManager and net.jini.security.Security,
              * as well as that of the policy provider.  Since the policy
              * provider will cache it's own ProtectionDomain, but not that
              * of the SecurityManager and Security, a infinite circular call 
@@ -359,7 +358,7 @@ extends SecurityManager implements Cachi
              * 
              * This will be caused by PolicyFile, attempting to determine
              * which permissions apply to the ProtectionDomain of
-             * DelegateCombinerSecurityManager and Security, then asking
+             * CombinerSecurityManager and Security, then asking
              * the SecurityManager if it has a FilePermission.
              * 
              * The policy provider 
org.apache.river.security.ConcurrentPolicyFile
@@ -545,10 +544,11 @@ extends SecurityManager implements Cachi
     
     private static boolean checkPermission(ProtectionDomain pd, Permission p){
         boolean result = pd.implies(p);
-        if (!result && p instanceof DelegatePermission ){
-            Permission candidate = ((DelegatePermission)p).getPermission();
-            result = pd.implies(candidate);
-        }
+        //TODO: Enable support for Delegates
+//        if (!result && p instanceof DelegatePermission ){
+//            Permission candidate = ((DelegatePermission)p).getPermission();
+//            result = pd.implies(candidate);
+//        }
         return result;
     }
     

Modified: 
river/jtsk/trunk/src/org/apache/river/api/security/PermissionComparator.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/src/org/apache/river/api/security/PermissionComparator.java?rev=1301929&r1=1301928&r2=1301929&view=diff
==============================================================================
--- 
river/jtsk/trunk/src/org/apache/river/api/security/PermissionComparator.java 
(original)
+++ 
river/jtsk/trunk/src/org/apache/river/api/security/PermissionComparator.java 
Sat Mar 17 12:29:52 2012
@@ -55,12 +55,8 @@ public class PermissionComparator implem
     private static final char wildcard = "*".charAt(0);
 
     public int compare(Permission o1, Permission o2) {
-        if (o1 == o2) return 0;
-        
-        if ( o1 == null ){
-            if (o2 == null) return 0;
-            return -1; // o1 is less
-        }
+        if ( o1 == o2 ) return 0;
+        if ( o1 == null ) return -1; // o1 is less
         if ( o2 == null ) return 1; // o1 is greater
         
         int hash1, hash2, comparison;

Modified: 
river/jtsk/trunk/src/org/apache/river/impl/security/dos/IsolatedExecutor.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/src/org/apache/river/impl/security/dos/IsolatedExecutor.java?rev=1301929&r1=1301928&r2=1301929&view=diff
==============================================================================
--- 
river/jtsk/trunk/src/org/apache/river/impl/security/dos/IsolatedExecutor.java 
(original)
+++ 
river/jtsk/trunk/src/org/apache/river/impl/security/dos/IsolatedExecutor.java 
Sat Mar 17 12:29:52 2012
@@ -37,9 +37,10 @@ import java.util.concurrent.TimeoutExcep
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
-import org.apache.river.impl.util.Ref;
-import org.apache.river.impl.util.RC;
-import org.apache.river.impl.util.Referrer;
+import au.net.zeus.collection.Ref;
+import au.net.zeus.collection.RC;
+import au.net.zeus.collection.Referrer;
+import java.util.Collections;
 
 /**
  * Performs Callable tasks in an isolated thread, which is terminated
@@ -80,7 +81,8 @@ public class IsolatedExecutor<T> impleme
         state = State.RUNNING;
         policy = new AbortPolicy();
         factory = new Factory();
-        failedTasks = RC.list(new ArrayList<Referrer<Runnable>>(),Ref.SOFT);
+        // Soft reference ok in list.
+        failedTasks = RC.list(Collections.synchronizedList(new 
ArrayList<Referrer<Runnable>>()),Ref.SOFT, 1000L);
         nullExec = new NullExecutor(); // Can't create one lazily if memory 
low.
        isolateExecutor = new Executor(0, 1,
                                       60L, TimeUnit.SECONDS,

Copied: 
river/jtsk/trunk/test/src/org/apache/river/api/security/CombinerSecurityManagerTest.java
 (from r1290965, 
river/jtsk/trunk/test/src/org/apache/river/api/security/DelegateCombinerSecurityManagerTest.java)
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/test/src/org/apache/river/api/security/CombinerSecurityManagerTest.java?p2=river/jtsk/trunk/test/src/org/apache/river/api/security/CombinerSecurityManagerTest.java&p1=river/jtsk/trunk/test/src/org/apache/river/api/security/DelegateCombinerSecurityManagerTest.java&r1=1290965&r2=1301929&rev=1301929&view=diff
==============================================================================
--- 
river/jtsk/trunk/test/src/org/apache/river/api/security/DelegateCombinerSecurityManagerTest.java
 (original)
+++ 
river/jtsk/trunk/test/src/org/apache/river/api/security/CombinerSecurityManagerTest.java
 Sat Mar 17 12:29:52 2012
@@ -25,7 +25,6 @@ import java.security.cert.Certificate;
 import java.security.CodeSource;
 import java.security.AllPermission;
 import java.util.PropertyPermission;
-import org.apache.river.api.delegates.DelegatePermission;
 import java.security.AccessControlContext;
 import java.net.SocketPermission;
 import java.security.ProtectionDomain;
@@ -37,139 +36,139 @@ import org.junit.Test;
 import static org.junit.Assert.*;
 
 /**
- *
+ * Re-enable when delegates are supported.
  * @author peter
  */
-public class DelegateCombinerSecurityManagerTest {
+public class CombinerSecurityManagerTest {
     
-    public DelegateCombinerSecurityManagerTest() {
+    public CombinerSecurityManagerTest() {
     }
     
-    private ProtectionDomain[] context;
-    private AccessControlContext acc;
-    Permission p1, p2, p3, p4, p5, p6, p7, p8;
-    SecurityManager sm;
-
-    @BeforeClass
-    public static void setUpClass() throws Exception {
-    }
-
-    @AfterClass
-    public static void tearDownClass() throws Exception {
-    }
-    
-    @Before
-    public void setUp() {
-        try {
-            sm = new DelegateCombinerSecurityManager();
-            CodeSource cs0, cs10, cs11, cs12;
-            p1 = new SocketPermission("*", "connect,accept");
-            p2 = DelegatePermission.get(p1);
-            p3 = new RuntimePermission("readFileDescriptor");
-            p4 = DelegatePermission.get(p3);
-            p5 = new PropertyPermission("java.home", "read,write");
-            p6 = new PropertyPermission("java.home", "read");
-            p7 = DelegatePermission.get(p6);
-            p8 = new AllPermission();
-            cs0  = new CodeSource(null, (Certificate[]) null);
-            cs10 = new CodeSource(new URL("file:/foo.bar"), (Certificate[]) 
null);
-            cs11 = new CodeSource(new URL("file:/foo.too"), (Certificate[]) 
null);
-            cs12 = new CodeSource(new URL("file:/too.foo"), (Certificate[]) 
null);
-            Permissions pc1, pc2, pc3, pc4;
-            pc1 = new Permissions();
-            pc1.add(p1);
-            pc1.add(p3);
-            pc1.add(p5);
-            pc2 = new Permissions();
-            pc2.add(p2);
-            pc2.add(p4);
-            pc2.add(p7);
-            pc3 = new Permissions();
-            pc3.add(p2);
-            pc3.add(p4);
-            pc3.add(p7);
-            pc4 = new Permissions();
-            pc4.add(p8);
-            ProtectionDomain pd1, pd2, pd3, pd4;
-            pd1 = new ProtectionDomain(cs0, pc4);
-            pd2 = new ProtectionDomain(cs10,pc3);
-            pd3 = new ProtectionDomain(cs11,pc2);
-            pd4 = new ProtectionDomain(cs12,pc1);
-            context = new ProtectionDomain[]{pd1, pd2, pd3, pd4};
-            acc = new AccessControlContext(context);
-        } catch (MalformedURLException ex) {
-            ex.printStackTrace(System.out);
-        }
-    }
-
-    /**
-     * Test of checkPermission method, of class 
DelegateCombinerSecurityManager.
-     */
-    @Test
-    public void testCheckPermission1() {
-        System.out.println("checkPermission1");
-        Boolean result = Boolean.FALSE;
-        Boolean expectedResult = Boolean.FALSE;
-        try {
-                sm.checkPermission(p1, acc);
-            result = Boolean.TRUE;
-        } catch (SecurityException e){
-            result = Boolean.FALSE;
-        }
-        assertEquals(expectedResult,result);
-    }
-    
-    @Test
-    public void testCheckPermission2() {
-        System.out.println("checkPermission2");
-        Boolean result = Boolean.FALSE;
-        Boolean expectedResult = Boolean.TRUE;
-        try {
-            /* This permission check is cached, lets test performance.
-             */
-            for (int i = 0; i < 200000; i++ ){
-                sm.checkPermission(p2, acc);
-            }
-            result = Boolean.TRUE;
-        } catch (Exception e){
-            e.printStackTrace(System.out);
-            result = Boolean.FALSE;
-        }
-        assertEquals(expectedResult,result);
-    }
-    
-    @Test
-    public void testCheckPermission3() {
-        System.out.println("checkPermission3");
-        Boolean result = Boolean.FALSE;
-        Boolean expectedResult = Boolean.FALSE;
-        try {
-            sm.checkPermission(p3, acc);
-            result = Boolean.TRUE;
-        } catch (Exception e){
-            e.printStackTrace(System.out);
-            result = Boolean.FALSE;
-        }
-        assertEquals(expectedResult,result);
-    }
-    
-    @Test
-    public void testCheckPermission4() {
-        System.out.println("checkPermission4");
-        Boolean result = Boolean.FALSE;
-        Boolean expectedResult = Boolean.TRUE;
-        try {
-            sm.checkPermission(p4, acc);
-            result = Boolean.TRUE;
-        } catch (Exception e){
-            e.printStackTrace(System.out);
-            result = Boolean.FALSE;
-        }
-        assertEquals(expectedResult,result);
-    }
-    /**
-     * Test of checkPermission method, of class 
DelegateCombinerSecurityManager.
-     */
+//    private ProtectionDomain[] context;
+//    private AccessControlContext acc;
+//    Permission p1, p2, p3, p4, p5, p6, p7, p8;
+//    SecurityManager sm;
+//
+//    @BeforeClass
+//    public static void setUpClass() throws Exception {
+//    }
+//
+//    @AfterClass
+//    public static void tearDownClass() throws Exception {
+//    }
+//    
+//    @Before
+//    public void setUp() {
+//        try {
+//            sm = new CombinerSecurityManager();
+//            CodeSource cs0, cs10, cs11, cs12;
+//            p1 = new SocketPermission("*", "connect,accept");
+//            p2 = DelegatePermission.get(p1);
+//            p3 = new RuntimePermission("readFileDescriptor");
+//            p4 = DelegatePermission.get(p3);
+//            p5 = new PropertyPermission("java.home", "read,write");
+//            p6 = new PropertyPermission("java.home", "read");
+//            p7 = DelegatePermission.get(p6);
+//            p8 = new AllPermission();
+//            cs0  = new CodeSource(null, (Certificate[]) null);
+//            cs10 = new CodeSource(new URL("file:/foo.bar"), (Certificate[]) 
null);
+//            cs11 = new CodeSource(new URL("file:/foo.too"), (Certificate[]) 
null);
+//            cs12 = new CodeSource(new URL("file:/too.foo"), (Certificate[]) 
null);
+//            Permissions pc1, pc2, pc3, pc4;
+//            pc1 = new Permissions();
+//            pc1.add(p1);
+//            pc1.add(p3);
+//            pc1.add(p5);
+//            pc2 = new Permissions();
+//            pc2.add(p2);
+//            pc2.add(p4);
+//            pc2.add(p7);
+//            pc3 = new Permissions();
+//            pc3.add(p2);
+//            pc3.add(p4);
+//            pc3.add(p7);
+//            pc4 = new Permissions();
+//            pc4.add(p8);
+//            ProtectionDomain pd1, pd2, pd3, pd4;
+//            pd1 = new ProtectionDomain(cs0, pc4);
+//            pd2 = new ProtectionDomain(cs10,pc3);
+//            pd3 = new ProtectionDomain(cs11,pc2);
+//            pd4 = new ProtectionDomain(cs12,pc1);
+//            context = new ProtectionDomain[]{pd1, pd2, pd3, pd4};
+//            acc = new AccessControlContext(context);
+//        } catch (MalformedURLException ex) {
+//            ex.printStackTrace(System.out);
+//        }
+//    }
+//
+//    /**
+//     * Test of checkPermission method, of class 
DelegateCombinerSecurityManager.
+//     */
+//    @Test
+//    public void testCheckPermission1() {
+//        System.out.println("checkPermission1");
+//        Boolean result = Boolean.FALSE;
+//        Boolean expectedResult = Boolean.FALSE;
+//        try {
+//                sm.checkPermission(p1, acc);
+//            result = Boolean.TRUE;
+//        } catch (SecurityException e){
+//            result = Boolean.FALSE;
+//        }
+//        assertEquals(expectedResult,result);
+//    }
+//    
+//    @Test
+//    public void testCheckPermission2() {
+//        System.out.println("checkPermission2");
+//        Boolean result = Boolean.FALSE;
+//        Boolean expectedResult = Boolean.TRUE;
+//        try {
+//            /* This permission check is cached, lets test performance.
+//             */
+//            for (int i = 0; i < 200000; i++ ){
+//                sm.checkPermission(p2, acc);
+//            }
+//            result = Boolean.TRUE;
+//        } catch (Exception e){
+//            e.printStackTrace(System.out);
+//            result = Boolean.FALSE;
+//        }
+//        assertEquals(expectedResult,result);
+//    }
+//    
+//    @Test
+//    public void testCheckPermission3() {
+//        System.out.println("checkPermission3");
+//        Boolean result = Boolean.FALSE;
+//        Boolean expectedResult = Boolean.FALSE;
+//        try {
+//            sm.checkPermission(p3, acc);
+//            result = Boolean.TRUE;
+//        } catch (Exception e){
+//            e.printStackTrace(System.out);
+//            result = Boolean.FALSE;
+//        }
+//        assertEquals(expectedResult,result);
+//    }
+//    
+//    @Test
+//    public void testCheckPermission4() {
+//        System.out.println("checkPermission4");
+//        Boolean result = Boolean.FALSE;
+//        Boolean expectedResult = Boolean.TRUE;
+//        try {
+//            sm.checkPermission(p4, acc);
+//            result = Boolean.TRUE;
+//        } catch (Exception e){
+//            e.printStackTrace(System.out);
+//            result = Boolean.FALSE;
+//        }
+//        assertEquals(expectedResult,result);
+//    }
+//    /**
+//     * Test of checkPermission method, of class 
DelegateCombinerSecurityManager.
+//     */
 //    @Test
 //    public void testCheckPermission_Permission_Object() {
 //        System.out.println("checkPermission");


Reply via email to