Rename some key classes.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@587 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
hanna 2009-05-01 22:01:04 +00:00
parent 5bdf653919
commit 6e38966349
3 changed files with 15 additions and 15 deletions

View File

@ -50,7 +50,7 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
private Queue<Shard> traverseTasks = new LinkedList<Shard>();
private Queue<TreeReduceTask> reduceTasks = new LinkedList<TreeReduceTask>();
private Queue<ShardOutput> outputMergeTasks = new LinkedList<ShardOutput>();
private Queue<OutputMerger> outputMergeTasks = new LinkedList<OutputMerger>();
/**
* Create a new hierarchical microscheduler to process the given reads and reference.
@ -159,7 +159,7 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
// If any of the first MAX_OUTSTANDING merges aren't ready, the merge limit
// has not been exceeded.
ShardOutput[] outputMergers = outputMergeTasks.toArray( new ShardOutput[0] );
OutputMerger[] outputMergers = outputMergeTasks.toArray( new OutputMerger[0] );
for( int i = 0; i < outputMergers.length; i++ ) {
if( !outputMergers[i].isComplete() )
return false;
@ -194,12 +194,12 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
protected void mergeRemainingOutput() {
OutputTracker outputTracker = GenomeAnalysisTK.Instance.getOutputTracker();
while( outputMergeTasks.size() > 0 ) {
ShardOutput shardOutput = outputMergeTasks.remove();
synchronized(shardOutput) {
if( !shardOutput.isComplete() )
shardOutput.waitForOutputComplete();
OutputMerger outputMerger = outputMergeTasks.remove();
synchronized(outputMerger) {
if( !outputMerger.isComplete() )
outputMerger.waitForOutputComplete();
}
shardOutput.mergeInto( outputTracker.getGlobalOutStream(), outputTracker.getGlobalErrStream() );
outputMerger.mergeInto( outputTracker.getGlobalOutStream(), outputTracker.getGlobalErrStream() );
}
}
@ -212,14 +212,14 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
if( traverseTasks.size() == 0 )
throw new IllegalStateException( "Cannot traverse; no pending traversals exist.");
ShardOutput shardOutput = new ShardOutput();
OutputMerger outputMerger = new OutputMerger();
ShardTraverser traverser = new ShardTraverser( traversalEngine,
walker,
traverseTasks.remove(),
reference,
dataSource,
shardOutput );
outputMerger );
Future traverseResult = threadPool.submit(traverser);
@ -230,7 +230,7 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
if( !isShardTraversePending() )
reduceTree.complete();
outputMergeTasks.add(shardOutput);
outputMergeTasks.add(outputMerger);
return traverseResult;
}

View File

@ -31,7 +31,7 @@ import java.nio.channels.WritableByteChannel;
* can be made at any time from any thread, but complete() should be called on the
* thread which is doing the writing.
*/
public class ShardOutput {
public class OutputMerger {
/**
* Create a unique identifier
*/
@ -54,7 +54,7 @@ public class ShardOutput {
private FileOutputStream out = null;
private FileOutputStream err = null;
public ShardOutput() {
public OutputMerger() {
try {
outFile = File.createTempFile("gatkout_" + id, null);
errFile = File.createTempFile("gatkerr_" + id, null);
@ -68,7 +68,7 @@ public class ShardOutput {
}
/**
* Waits for any the given ShardOutput to be ready for merging.
* Waits for any the given OutputMerger to be ready for merging.
*/
public synchronized void waitForOutputComplete() {
try {

View File

@ -36,14 +36,14 @@ public class ShardTraverser implements Callable {
private Shard shard;
private IndexedFastaSequenceFile reference;
private SAMDataSource reads;
private ShardOutput output;
private OutputMerger output;
public ShardTraverser( TraverseLociByReference traversalEngine,
Walker walker,
Shard shard,
IndexedFastaSequenceFile reference,
SAMDataSource reads,
ShardOutput output ) {
OutputMerger output ) {
this.walker = walker;
this.traversalEngine = traversalEngine;
this.shard = shard;