Index: modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java =================================================================== --- modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java (revision 1212972) +++ modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java (working copy) @@ -28,6 +28,7 @@ import org.apache.lucene.benchmark.byTask.feeds.FacetSource; import org.apache.lucene.benchmark.byTask.feeds.QueryMaker; import org.apache.lucene.benchmark.byTask.stats.Points; +import org.apache.lucene.benchmark.byTask.tasks.PerfTask; import org.apache.lucene.benchmark.byTask.tasks.ReadTask; import org.apache.lucene.benchmark.byTask.tasks.SearchTask; import org.apache.lucene.benchmark.byTask.utils.Config; @@ -94,6 +95,7 @@ private Config config; private long startTimeMillis; + private HashMap perfObjects = new HashMap(); // constructor public PerfRunData (Config config) throws Exception { @@ -173,6 +175,16 @@ return new RAMDirectory(); } + /** Returns an object that was previously set by {@link #setPerfObject(String, Object)}. */ + public synchronized Object getPerfObject(String key) { + return perfObjects.get(key); + } + + /** Sets an object that is required by {@link PerfTask}s. */ + public synchronized void setPerfObject(String key, Object obj) { + perfObjects.put(key, obj); + } + public long setStartTimeMillis() { startTimeMillis = System.currentTimeMillis(); return startTimeMillis;