Author: doogie
Date: Tue Jun 1 22:01:42 2010 New Revision: 950281 URL: http://svn.apache.org/viewvc?rev=950281&view=rev Log: Revert wrongly committed 950254 Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/DependencyPool.java ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/test/DependencyPoolTests.java Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/DependencyPool.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/DependencyPool.java?rev=950281&r1=950280&r2=950281&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/DependencyPool.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/DependencyPool.java Tue Jun 1 22:01:42 2010 @@ -10,7 +10,6 @@ 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.CopyOnWriteArrayList; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; @@ -27,18 +26,15 @@ public class DependencyPool<K, I extends private final Executor executor; private final ConcurrentMap<K, I> allItems = new ConcurrentHashMap<K, I>(); private final ConcurrentMap<K, Future<V>> results = new ConcurrentHashMap<K, Future<V>>(); - private final Set<K> provides = new ConcurrentSkipListSet<K>(); private final ReentrantLock submitLock = new ReentrantLock(); private final Condition submitCondition = submitLock.newCondition(); - private final int inflight; @LockedBy("submitLock") private final Set<I> outstanding = new HashSet<I>(); @LockedBy("submitLock") private final List<I> pending = new LinkedList<I>(); - public DependencyPool(Executor executor, int inflight) { + public DependencyPool(Executor executor) { this.executor = executor; - this.inflight = inflight; } public I add(I item) { @@ -102,7 +98,7 @@ OUTER: while (pendingIt.hasNext()) { I item = pendingIt.next(); for (K dep: item.getDependencies()) { - if (!results.containsKey(dep) && !provides.contains(dep)) { + if (!results.containsKey(dep)) { continue OUTER; } } @@ -125,11 +121,10 @@ OUTER: protected void done() { super.done(); results.put(item.getKey(), this); - provides.addAll(item.getProvides()); submitLock.lock(); try { outstanding.remove(item); - if (outstanding.size() < inflight && submitWork() == 0 && outstanding.isEmpty()) { + if (submitWork() == 0 && outstanding.isEmpty()) { submitCondition.signal(); } } finally { @@ -141,6 +136,5 @@ OUTER: public interface Item<I extends Item<I, K, V>, K, V> extends Callable<V> { K getKey(); Collection<K> getDependencies(); - Collection<K> getProvides(); } } Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/test/DependencyPoolTests.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/test/DependencyPoolTests.java?rev=950281&r1=950280&r2=950281&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/test/DependencyPoolTests.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/concurrent/test/DependencyPoolTests.java Tue Jun 1 22:01:42 2010 @@ -23,7 +23,7 @@ public class DependencyPoolTests extends public void testDependencyPool() throws Exception { // always use more threads than cpus, so that the single-cpu case can be tested ScheduledExecutorService executor = ExecutionPool.getNewOptimalExecutor(getName()); - DependencyPool pool = new DependencyPool(executor, 5); + DependencyPool pool = new DependencyPool(executor); int itemSize = 100, depMax = 5, subMax = 3; List<TestItem> items = new ArrayList<TestItem>(itemSize); List<TestItem> previousItems = new ArrayList<TestItem>(itemSize); @@ -74,7 +74,6 @@ OUTER: private final Integer key; private final String result; private final Collection<Integer> dependencies; - private final Collection<Integer> provides; private final Collection<TestItem> subItems; protected TestItem(DependencyPool pool, Integer key, String result, Collection<Integer> dependencies, Collection<TestItem> subItems) { @@ -82,7 +81,6 @@ OUTER: this.key = key; this.result = result; this.dependencies = dependencies; - this.provides = java.util.Collections.emptyList(); this.subItems = subItems; } @@ -94,10 +92,6 @@ OUTER: return dependencies; } - public Collection<Integer> getProvides() { - return provides; - } - public Collection<TestItem> getSubItems() { return subItems; } |
Free forum by Nabble | Edit this page |