Coverage Report - eu.lindenbaum.maven.util.StreamGobbler
 
Classes in this File Line Coverage Branch Coverage Complexity
StreamGobbler
84%
11/13
75%
3/4
2.5
 
 1  
 package eu.lindenbaum.maven.util;
 2  
 
 3  
 import java.io.BufferedReader;
 4  
 import java.io.IOException;
 5  
 import java.io.InputStream;
 6  
 import java.io.InputStreamReader;
 7  
 
 8  
 /**
 9  
  * Reads all input from an {@link InputStream} saving it into a (line based)
 10  
  * buffer.
 11  
  * 
 12  
  * @author Olivier Sambourg
 13  
  * @author Paul Guyot
 14  
  * @author Tobias Schlager <tobias.schlager@lindenbaum.eu>
 15  
  */
 16  
 public final class StreamGobbler implements Runnable {
 17  
   private final InputStream inputStream;
 18  
   private final Processor processor;
 19  
 
 20  16
   public StreamGobbler(InputStream inputStream, Processor processor) {
 21  16
     this.inputStream = inputStream;
 22  16
     this.processor = processor;
 23  16
   }
 24  
 
 25  
   @Override
 26  
   public void run() {
 27  
     try {
 28  16
       InputStreamReader streamReader = new InputStreamReader(this.inputStream);
 29  16
       BufferedReader reader = new BufferedReader(streamReader);
 30  
       String line;
 31  29
       while ((line = reader.readLine()) != null) {
 32  13
         if (!"".equals(line)) {
 33  13
           this.processor.handle(line);
 34  
         }
 35  
       }
 36  
     }
 37  0
     catch (IOException e) {
 38  0
       e.printStackTrace();
 39  16
     }
 40  16
   }
 41  
 }