Author: peter_firmstone
Date: Fri Jan 20 20:07:05 2012
New Revision: 1234104

URL: http://svn.apache.org/viewvc?rev=1234104&view=rev
Log:
Minor refactoring, fix compile error due to missing ConcurrentCollections class 
files in policy.jar, by removing the dependency on those files.

Considering removing ConcurrentCollections utility wrapper classes, these are 
single write multi read wrapper classes, while useful, could be removed for 
leaner code.

Modified:
    
river/jtsk/skunk/peterConcurrentPolicy/qa/src/com/sun/jini/qa/harness/QATest.java
    
river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java

Modified: 
river/jtsk/skunk/peterConcurrentPolicy/qa/src/com/sun/jini/qa/harness/QATest.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/peterConcurrentPolicy/qa/src/com/sun/jini/qa/harness/QATest.java?rev=1234104&r1=1234103&r2=1234104&view=diff
==============================================================================
--- 
river/jtsk/skunk/peterConcurrentPolicy/qa/src/com/sun/jini/qa/harness/QATest.java
 (original)
+++ 
river/jtsk/skunk/peterConcurrentPolicy/qa/src/com/sun/jini/qa/harness/QATest.java
 Fri Jan 20 20:07:05 2012
@@ -33,7 +33,6 @@ import java.util.logging.Level;
 
 import net.jini.core.lease.Lease;
 import net.jini.core.lease.UnknownLeaseException;
-import org.apache.river.impl.util.CollectionsConcurrent;
 
 /**
  * A base class for tests to be run by the harness.
@@ -54,7 +53,7 @@ public abstract class QATest implements 
        Logger.getLogger("com.sun.jini.qa.harness");
 
     /** Keeps track of leases for automatic cancellation when test ends. */
-    private final Collection<Lease> leaseArray = 
CollectionsConcurrent.multiReadCollection(new ArrayList<Lease>());
+    private final Collection<Lease> leaseArray = new ArrayList<Lease>();
 
     /** The admin manager for managing services */
     protected volatile AdminManager manager;

Modified: 
river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java?rev=1234104&r1=1234103&r2=1234104&view=diff
==============================================================================
--- 
river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java
 (original)
+++ 
river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java
 Fri Jan 20 20:07:05 2012
@@ -28,16 +28,11 @@ import java.security.PrivilegedAction;
 import java.security.ProtectionDomain;
 import java.security.SecurityPermission;
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
 import java.util.Comparator;
-import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.NavigableSet;
-import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ConcurrentSkipListSet;
 import java.util.concurrent.CountDownLatch;
@@ -304,7 +299,12 @@ extends SecurityManager implements Cachi
          * writing to old Set's, while new checks will write to new Sets.
          */
         g.checkGuard(this);
-        checked.clear();
+        inTrustedCodeRecursiveCall.set(Boolean.TRUE);
+        try {
+            checked.clear();
+        }finally {
+            inTrustedCodeRecursiveCall.set(Boolean.FALSE); // Must always 
happen, no matter what.
+        }
     }
     
     // Action retrieves the optimised AccessControlContext.


Reply via email to