1 package org.apache.maven.plugin.surefire.runorder;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.io.FileNotFoundException;
24 import org.apache.maven.surefire.report.ReportEntry;
25
26 import static org.apache.maven.plugin.surefire.runorder.RunEntryStatisticsMap.fromFile;
27
28
29
30
31 public class StatisticsReporter
32 {
33 private final RunEntryStatisticsMap existing;
34
35 private final RunEntryStatisticsMap newResults;
36
37 private final File dataFile;
38
39 public StatisticsReporter( File dataFile )
40 {
41 this( dataFile, fromFile( dataFile ), new RunEntryStatisticsMap() );
42 }
43
44 protected StatisticsReporter( File dataFile, RunEntryStatisticsMap existing, RunEntryStatisticsMap newRestuls )
45 {
46 this.dataFile = dataFile;
47 this.existing = existing;
48 this.newResults = newRestuls;
49 }
50
51 public synchronized void testSetCompleted()
52 {
53 try
54 {
55 newResults.serialize( dataFile );
56 }
57 catch ( FileNotFoundException e )
58 {
59 throw new RuntimeException( e );
60 }
61 }
62
63 public void testSucceeded( ReportEntry report )
64 {
65 newResults.add( existing.createNextGeneration( report ) );
66 }
67
68 public void testSkipped( ReportEntry report )
69 {
70 newResults.add( existing.createNextGeneration( report ) );
71 }
72
73 public void testError( ReportEntry report )
74 {
75 newResults.add( existing.createNextGenerationFailure( report ) );
76 }
77
78 public void testFailed( ReportEntry report )
79 {
80 newResults.add( existing.createNextGenerationFailure( report ) );
81 }
82 }