1 19 20 package org.polepos.reporters; 21 22 import java.io.*; 23 import java.util.*; 24 25 import org.polepos.framework.*; 26 27 28 public class PlainTextReporter extends Reporter{ 29 30 protected PrintStream mOut; 31 private boolean mSetupReported; 32 33 @Override  34 public void startSeason() { 35 36 if(!append()){ 37 new File(file()).delete(); 38 } 39 try{ 40 mOut = new PrintStream( new FileOutputStream( file(), append())); 41 } 42 catch ( IOException ioex ){ 43 ioex.printStackTrace(); 44 } 45 46 mOut.println(); 47 mOut.println( "===========================================================================================" ); 48 mOut.println( "Season started at " + new Date().toString() ); 49 mOut.println( "===========================================================================================" ); 50 } 51 52 @Override  53 public boolean append() { 54 return true; 55 } 56 57 @Override  58 public String file() { 59 return "doc/results/F1Season.log"; 60 } 61 62 @Override  63 public void noDriver(Team team, Circuit circuit) { 64 mOut.println("*** No driver for team " + team.name() + " in " + circuit.name() ); 65 } 66 67 @Override  68 public void sendToCircuit(Circuit circuit) { 69 super.sendToCircuit(circuit); 70 mOut.println(); 71 mOut.println( "-------------------------------------------------------------------------------------------" ); 72 mOut.println(circuit.name()); 73 mOut.println(circuit.description()); 74 mOut.println( "-------------------------------------------------------------------------------------------" ); 75 mOut.println(); 76 } 77 78 @Override  79 public void reportTaskName(int number, String name){ 80 mOut.println("[" + number + "] " + name ); 81 } 82 83 @Override  84 public void reportTeam(Team team) { 85 mOut.println(); 86 mOut.println("- " + team.name()); 87 } 88 89 @Override  90 public void reportCar(Car car) { 91 mOut.println("--- " + car.name()); 92 mOut.println(); 93 } 94 95 @Override  96 public void beginResults() { 97 mOut.println(); 98 mSetupReported = false; 99 } 100 101 @Override  102 public void reportResult(Result result) { 103 if(! mSetupReported){ 104 mSetupReported = true; 105 TurnSetup setup = result.getSetup(); 106 for(SetupProperty sp : setup.properties()){ 107 mOut.print(sp.name()); 108 mOut.print(":"); 109 mOut.print(sp.value()); 110 mOut.print(" "); 111 } 112 mOut.println(); 113 } 114 mOut.println("[" + result.getIndex() + "] " + result.getTime() + "ms" ); 115 } 116 117 public void endSeason() { 118 mOut.flush(); 119 mOut.close(); 120 } 121 } 122
| Popular Tags
|