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.
