1 26 27 package net.sourceforge.groboutils.codecoverage.v2.util; 28 29 import net.sourceforge.groboutils.codecoverage.v2.IChannelLogger; 30 import net.sourceforge.groboutils.codecoverage.v2.logger.DirectoryChannelLogger; 31 32 import java.io.File ; 33 import java.io.IOException ; 34 import java.io.FileReader ; 35 36 37 44 public class SingleLogFilter implements ILogFilter 45 { 46 public void process( int channelCount, File dir ) 47 throws IOException 48 { 49 IChannelLogger[] loggers = createChannels( dir, channelCount ); 51 52 try 53 { 54 ConvertSingleLog csl = new ConvertSingleLog( loggers ); 55 File [] contents = dir.listFiles(); 56 if (contents != null) 57 { 58 for (int i = 0; i < contents.length; ++i) 59 { 60 String name = contents[i].getName(); 61 if (contents[i].isFile() && name.startsWith( "single." ) && 63 name.endsWith( ".log" )) 64 { 65 FileReader fr = new FileReader ( contents[i] ); 67 csl.read( fr, true ); 68 } 69 } 70 } 71 } 72 finally 73 { 74 cleanupChannels( loggers ); 75 } 76 } 77 78 79 protected IChannelLogger[] createChannels( File dir, int count ) 80 { 81 DirectoryChannelLogger[] loggers = new DirectoryChannelLogger[ count ]; 82 for (int i = 0; i < count; ++i) 83 { 84 File outdir = new File ( dir, Integer.toString( i ) ); 85 outdir.mkdirs(); 86 loggers[i] = new DirectoryChannelLogger( outdir ); 88 } 89 return loggers; 90 } 91 92 protected void cleanupChannels( IChannelLogger[] loggers ) 93 { 94 DirectoryChannelLogger[] dcl = (DirectoryChannelLogger[])loggers; 95 96 } 98 } 99 100 | Popular Tags |