You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by pe...@apache.org on 2012/01/20 21:07:06 UTC

svn commit: r1234104 - in /river/jtsk/skunk/peterConcurrentPolicy: qa/src/com/sun/jini/qa/harness/QATest.java src/org/apache/river/api/security/DelegateCombinerSecurityManager.java

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.