Coverage Report - org.tartarus.snowball.TestApp
 
Classes in this File Line Coverage Branch Coverage Complexity
TestApp
0%
0/37
0%
0/18
6
 
 1  
 
 2  
 package org.tartarus.snowball;
 3  
 
 4  
 import java.lang.reflect.Method;
 5  
 import java.io.Reader;
 6  
 import java.io.Writer;
 7  
 import java.io.BufferedReader;
 8  
 import java.io.BufferedWriter;
 9  
 import java.io.FileInputStream;
 10  
 import java.io.InputStreamReader;
 11  
 import java.io.OutputStreamWriter;
 12  
 import java.io.OutputStream;
 13  
 import java.io.FileOutputStream;
 14  
 
 15  0
 public class TestApp {
 16  
     private static void usage()
 17  
     {
 18  0
         System.err.println("Usage: TestApp <algorithm> <input file> [-o <output file>]");
 19  0
     }
 20  
 
 21  
     public static void main(String [] args) throws Throwable {
 22  0
         if (args.length < 2) {
 23  0
             usage();
 24  0
             return;
 25  
         }
 26  
 
 27  0
         Class stemClass = Class.forName("org.tartarus.snowball.ext." +
 28  
                                         args[0] + "Stemmer");
 29  0
         SnowballStemmer stemmer = (SnowballStemmer) stemClass.newInstance();
 30  
 
 31  
         Reader reader;
 32  0
         reader = new InputStreamReader(new FileInputStream(args[1]));
 33  0
         reader = new BufferedReader(reader);
 34  
 
 35  0
         StringBuffer input = new StringBuffer();
 36  
 
 37  
         OutputStream outstream;
 38  
 
 39  0
         if (args.length > 2) {
 40  0
             if (args.length >= 4 && args[2].equals("-o")) {
 41  0
                 outstream = new FileOutputStream(args[3]);
 42  
             } else {
 43  0
                 usage();
 44  0
                 return;
 45  
             }
 46  
         } else {
 47  0
             outstream = System.out;
 48  
         }
 49  0
         Writer output = new OutputStreamWriter(outstream);
 50  0
         output = new BufferedWriter(output);
 51  
 
 52  0
         int repeat = 1;
 53  0
         if (args.length > 4) {
 54  0
             repeat = Integer.parseInt(args[4]);
 55  
         }
 56  
 
 57  0
         Object [] emptyArgs = new Object[0];
 58  
         int character;
 59  0
         while ((character = reader.read()) != -1) {
 60  0
             char ch = (char) character;
 61  0
             if (Character.isWhitespace((char) ch)) {
 62  0
                 if (input.length() > 0) {
 63  0
                     stemmer.setCurrent(input.toString());
 64  0
                     for (int i = repeat; i != 0; i--) {
 65  0
                         stemmer.stem();
 66  
                     }
 67  0
                     output.write(stemmer.getCurrent());
 68  0
                     output.write('\n');
 69  0
                     input.delete(0, input.length());
 70  
                 }
 71  
             } else {
 72  0
                 input.append(Character.toLowerCase(ch));
 73  
             }
 74  0
         }
 75  0
         output.flush();
 76  0
     }
 77  
 }