package net.jaekl.cfb.analyze;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import net.jaekl.cfb.CfbBundle;
import net.jaekl.cfb.store.Location;
+import net.jaekl.cfb.util.Command;
import net.jaekl.cfb.xml.BugInstance;
import net.jaekl.cfb.xml.messages.BugPattern;
import net.jaekl.cfb.xml.messages.MessageCollection;
public void write(File output) throws IOException
{
- try ( FileOutputStream fos = new FileOutputStream(output);
- PrintWriter pw = new PrintWriter(fos); )
+ try ( PrintWriter pw = new PrintWriter(output, Command.UTF_8) )
{
write(pw);
+ pw.flush();
}
}
}
}
- pw.write(" <TR>");
- pw.write(" <TD COLSPAN=\"2\" CLASS=\"Loc\">" + sb.toString() + "</TD>");
- pw.write(" </TR>");
+ pw.println(" <TR><TD COLSPAN=\"2\" CLASS=\"Loc\">" + sb.toString() + "</TD></TR>");
}
}
for (BugInstance bug : bugs) {
BugPattern pattern = m_msgColl.getPattern(bug.getType());
- pw.write(" <P>");
- pw.write(" <TABLE CLASS=\"bug\">");
- pw.write(" <TR>");
- pw.write(" <TD WIDTH=\"20%\">" + bug.getCategory() + "</TD>");
- pw.write(" <TD>" + bug.getType() + "</TD>");
- pw.write(" </TR>");
+ pw.println(" <P>");
+ pw.println(" <TABLE CLASS=\"Bug\">");
+ pw.println(" <TR>");
+ pw.println(" <TD WIDTH=\"20%\">" + bug.getCategory() + "</TD>");
+ pw.println(" <TD>" + bug.getType() + "</TD>");
+ pw.println(" </TR>");
writeBugLocations(pw, bug);
- pw.write(" <TR>");
- pw.write(" <TD COLSPAN=\"2\">" + pattern.getShort() + "</TD>");
- pw.write(" </TR>");
- pw.write(" <TR>");
- pw.write(" <TD COLSPAN=\"2\">" + pattern.getDetails() + "</TD>");
- pw.write(" </TR>");
- pw.write(" </TABLE>");
- pw.write(" </P>");
+ pw.println(" <TR><TD COLSPAN=\"2\"><B>" + pattern.getShort() + "</B></TD></TR>");
+ pw.println(" <TR>");
+ pw.println(" <TD COLSPAN=\"2\">" + pattern.getDetails() + "</TD>");
+ pw.println(" </TR>");
+ pw.println(" </TABLE>");
+ pw.println(" </P>");
+ pw.println(" <HR/>");
}
}
{
final String SEP = ": ";
+ String earlierVersion = "";
+ if (null != m_delta.getEarlier()) {
+ earlierVersion = m_delta.getEarlier().constructVersionText(m_bundle);
+ }
+
writeSectionHeading(pw, trans(CfbBundle.CFB_REPORT));
pw.println(" <P>");
pw.println(" <TABLE>");
pw.println(" </TR>");
pw.println(" <TR>");
pw.println(" <TD CLASS=\"CategoryName\">" + trans(CfbBundle.OLD_VERSION) + SEP + "</TD>");
- pw.println(" <TD CLASS=\"CategoryValue\">" + m_delta.getEarlier().constructVersionText(m_bundle) + "</TD>");
+ pw.println(" <TD CLASS=\"CategoryValue\">" + earlierVersion + "</TD>");
pw.println(" </TR>");
pw.println(" <TR><TD> </TD></TR>");
pw.println(" <TR>");