1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.creadur.whisker.out.velocity;
20
21 import java.io.IOException;
22 import java.io.StringWriter;
23 import java.io.Writer;
24 import java.util.ArrayList;
25 import java.util.HashMap;
26 import java.util.List;
27 import java.util.Map;
28
29 import org.apache.creadur.whisker.app.Result;
30 import org.apache.creadur.whisker.app.ResultWriterFactory;
31
32 public class StringResultWriterFactory implements ResultWriterFactory {
33
34 Map<Result, List<StringWriter>> results = new HashMap<Result, List<StringWriter>>();
35
36 public StringResultWriterFactory() {
37 for (Result result: Result.values()) {
38 results.put(result, new ArrayList<StringWriter>());
39 }
40 }
41
42 public Writer writerFor(Result result) throws IOException {
43 final StringWriter writer = new StringWriter();
44 results.get(result).add(writer);
45 return writer;
46 }
47
48 public int requestsFor(Result result) {
49 return results.get(result).size();
50 }
51
52 public String firstOutputFor(Result result) {
53 return results.get(result).get(0).toString();
54 }
55 }