BatchFailures.java
- package org.jbehave.core.failures;
- import java.io.PrintWriter;
- import java.io.StringWriter;
- import java.util.concurrent.ConcurrentHashMap;
- @SuppressWarnings("serial")
- public class BatchFailures extends ConcurrentHashMap<String, Throwable> {
- private final boolean verbose;
- public BatchFailures() {
- this(false);
- }
- public BatchFailures(boolean verbose) {
- this.verbose = verbose;
- }
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- for (String name : keySet()) {
- Throwable failure = get(name);
- sb.append("\n");
- sb.append(name);
- sb.append(": ");
- sb.append(verbose ? stackTraceOf(failure) : failure);
- }
- return sb.toString();
- }
- private String stackTraceOf(Throwable failure) {
- StringWriter writer = new StringWriter();
- failure.printStackTrace(new PrintWriter(writer));
- return writer.toString();
- }
- }