import java.sql.Connection;
import java.sql.SQLException;
import java.text.MessageFormat;
import java.sql.Connection;
import java.sql.SQLException;
import java.text.MessageFormat;
import net.jaekl.cfb.analyze.Delta;
import net.jaekl.cfb.analyze.HtmlReport;
import net.jaekl.cfb.analyze.MessageMap;
import net.jaekl.cfb.analyze.Delta;
import net.jaekl.cfb.analyze.HtmlReport;
import net.jaekl.cfb.analyze.MessageMap;
import net.jaekl.cfb.db.CfbSchema;
import net.jaekl.cfb.db.TypeMismatchException;
import net.jaekl.cfb.db.driver.DbDriver;
import net.jaekl.cfb.db.CfbSchema;
import net.jaekl.cfb.db.TypeMismatchException;
import net.jaekl.cfb.db.driver.DbDriver;
String m_dbName; // db name
File m_fbp; // FindBugsProject file
File m_fbDir; // Directory where FindBugs is installed
String m_dbName; // db name
File m_fbp; // FindBugsProject file
File m_fbDir; // Directory where FindBugs is installed
String m_buildNum; // build number (version)
boolean m_removeSchema; // purge DB schema
File m_output; // File to which we should write our output (report)
String m_buildNum; // build number (version)
boolean m_removeSchema; // purge DB schema
File m_output; // File to which we should write our output (report)
opt.addOption("d", "dbname", true, "DB name");
opt.addOption(null, "drop-tables", false, "Remove database schema (drop all data)");
opt.addOption("f", "fbp", true, "FindBugsProject file");
opt.addOption("h", "host", true, "DB hostname");
opt.addOption("d", "dbname", true, "DB name");
opt.addOption(null, "drop-tables", false, "Remove database schema (drop all data)");
opt.addOption("f", "fbp", true, "FindBugsProject file");
opt.addOption("h", "host", true, "DB hostname");
opt.addOption("n", "number", true, "Build number (version)");
opt.addOption("o", "outfile", true, "Output report filename");
opt.addOption("p", "pass", true, "DB password");
opt.addOption("n", "number", true, "Build number (version)");
opt.addOption("o", "outfile", true, "Output report filename");
opt.addOption("p", "pass", true, "DB password");
void doMain(PrintWriter pw, String[] args) throws SQLException, IOException, XmlParseException, SAXException, TypeMismatchException {
initArgs(); // read environment and system properties
if ( ! parseArgs(pw, args) ) {
return;
}
void doMain(PrintWriter pw, String[] args) throws SQLException, IOException, XmlParseException, SAXException, TypeMismatchException {
initArgs(); // read environment and system properties
if ( ! parseArgs(pw, args) ) {
return;
}
- Analysis analysis = analyzer.analyze(pw, workDir, m_fbp, m_buildNum);
+ Analysis analysis = analyzer.analyze(pw, workDir, m_fbp, m_projName, m_buildNum);
Analysis prior = store.getPrior(analysis);
Delta delta = new Delta(prior, analysis);
Analysis prior = store.getPrior(analysis);
Delta delta = new Delta(prior, analysis);
- HtmlReport report = new HtmlReport(m_bundle, messageMap.getColl());
- report.write(m_output, delta);
+ HtmlReport report = new HtmlReport(m_bundle, messageMap.getColl(), delta);
+ if (null != m_output) {
+ report.write(m_output);
+ }
+
+ Notifier notifier = new Notifier(m_bundle, m_config);
+ notifier.sendEmailIfNeeded(pw, report);
}
catch (SQLException exc) {
reportUnableToConnect(pw, exc);
}
catch (SQLException exc) {
reportUnableToConnect(pw, exc);