com.cflint.TextOutput Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of CFLint Show documentation
Show all versions of CFLint Show documentation
A static code analysis tool for ColdFusion (in the spirit of FindBugs and Lint). With CFLint, you are able to analyze your ColdFusion code base for code violations.
package com.cflint;
import java.io.IOException;
import java.io.Writer;
import java.util.List;
import java.util.Map.Entry;
public class TextOutput {
final static String newLine = System.getProperty("line.separator");
public void output(final BugList bugList, final Writer sb, final boolean showStats) throws IOException {
final BugCounts counts = new BugCounts();
for (final Entry> bugEntry : bugList.getBugList().entrySet()) {
sb.append("Issue");
for (final BugInfo bugInfo : bugEntry.getValue()) {
final String severity = bugEntry.getValue().get(0).getSeverity();
final String code = bugEntry.getValue().get(0).getMessageCode();
counts.add(code, severity);
sb.append(newLine).append("Severity:").append(severity);
sb.append(newLine).append("Message code:").append(code);
sb.append(newLine).append("\tFile:").append(bugInfo.getFilename());
sb.append(newLine).append("\tColumn:").append(Integer.valueOf(bugInfo.getColumn()).toString());
sb.append(newLine).append("\tLine:").append(Integer.valueOf(bugInfo.getLine()).toString());
sb.append(newLine).append("\t\tMessage:").append(bugInfo.getMessage());
sb.append(newLine).append("\t\tVariable:'").append(bugInfo.getVariable());
sb.append("' in function: ").append(bugInfo.getFunction());
sb.append(newLine).append("\t\tExpression:").append(bugInfo.getExpression());
sb.append(newLine);
}
}
if (showStats) {
sb.append(newLine).append(newLine).append("Issue counts:" + counts.noBugTypes());
for (final String code : counts.bugTypes()) {
sb.append(newLine).append(code + ":" + counts.getCode(code));
}
sb.append(newLine).append(newLine).append("Total issues:" + counts.noBugs());
for (final String severity : BugCounts.levels) {
if (counts.getSeverity(severity) > 0) {
sb.append(newLine).append("Total " + severity.toLowerCase() + "s:" + counts.getSeverity(severity));
}
}
}
sb.append(newLine);
sb.flush();
sb.close();
}
}