KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > polepos > reporters > PlainTextReporter


1 /*
2 This file is part of the PolePosition database benchmark
3 http://www.polepos.org
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public
16 License along with this program; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
18 MA 02111-1307, USA. */

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 JavaDoc
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 JavaDoc
53     public boolean append() {
54         return true;
55     }
56
57     @Override JavaDoc
58     public String JavaDoc file() {
59         return "doc/results/F1Season.log";
60     }
61
62     @Override JavaDoc
63     public void noDriver(Team team, Circuit circuit) {
64         mOut.println("*** No driver for team " + team.name() + " in " + circuit.name() );
65     }
66     
67     @Override JavaDoc
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 JavaDoc
79     public void reportTaskName(int number, String JavaDoc name){
80         mOut.println("[" + number + "] " + name );
81     }
82
83     @Override JavaDoc
84     public void reportTeam(Team team) {
85         mOut.println();
86         mOut.println("- " + team.name());
87     }
88
89     @Override JavaDoc
90     public void reportCar(Car car) {
91         mOut.println("--- " + car.name());
92         mOut.println();
93     }
94
95     @Override JavaDoc
96     public void beginResults() {
97         mOut.println();
98         mSetupReported = false;
99     }
100     
101     @Override JavaDoc
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