From 17758b381c973c1ffd5483f7809e08c30425f225 Mon Sep 17 00:00:00 2001 From: hanna Date: Tue, 15 Sep 2009 19:47:43 +0000 Subject: [PATCH] Properly initialize redirected output streams in case of out and err. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1629 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/gatk/io/OutputTracker.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/io/OutputTracker.java b/java/src/org/broadinstitute/sting/gatk/io/OutputTracker.java index 82c587d73..87fe2c2a9 100755 --- a/java/src/org/broadinstitute/sting/gatk/io/OutputTracker.java +++ b/java/src/org/broadinstitute/sting/gatk/io/OutputTracker.java @@ -10,6 +10,7 @@ import org.broadinstitute.sting.gatk.io.stubs.OutputStreamStub; import org.broadinstitute.sting.gatk.io.stubs.Stub; import org.broadinstitute.sting.gatk.io.storage.StorageFactory; import org.broadinstitute.sting.gatk.io.storage.Storage; +import org.broadinstitute.sting.gatk.io.storage.OutputStreamStorage; import java.io.*; import java.lang.reflect.Field; @@ -65,16 +66,16 @@ public abstract class OutputTracker { // Otherwise, initialize them separately. if( outFileName != null && outFileName.equals(errFileName) ) { outStub = errStub = new OutputStreamStub(new File(outFileName)); - addOutput(outStub); + addOutput(outStub,new OutputStreamStorage(outStub)); } else { outStub = (outFileName != null) ? new OutputStreamStub(new File(outFileName)) : new OutputStreamStub(System.out); - addOutput(outStub); + addOutput(outStub,new OutputStreamStorage(outStub)); errStub = (errFileName != null) ? new OutputStreamStub(new File(errFileName)) : new OutputStreamStub(System.err); - addOutput(errStub); + addOutput(errStub,new OutputStreamStorage(outStub)); } } @@ -120,8 +121,16 @@ public abstract class OutputTracker { * @param stub Stream to manage. */ public void addOutput(Stub stub) { + addOutput(stub,null); + } + + /** + * Provide a mechanism for injecting supplemental streams for external management. + * @param stub Stream to manage. + */ + public void addOutput(Stub stub, Storage storage) { stub.register(this); - outputs.put(stub,null); + outputs.put(stub,storage); } /**