// Copyright (C) 2015 Christian Jaekl
-import java.io.File;
-import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
+import java.util.Date;
+
+import net.jaekl.cfb.xml.BugCollection;
+import net.jaekl.qd.xml.ParseErrorHandler;
+import net.jaekl.qd.xml.ParseHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
-import net.jaekl.cfb.xml.BugCollection;
-import net.jaekl.qd.util.InputStreamWrapper;
-import net.jaekl.qd.xml.ParseErrorHandler;
-import net.jaekl.qd.xml.ParseHandler;
-
public class Analysis {
+ long m_id;
BugCollection m_bugCollection;
+ String m_projectName;
+ String m_buildNumber;
+ long m_start; // Date.getTime() when analysis was started
+ long m_end;
- public Analysis() {
+ public Analysis(String projectName, String buildNumber) {
+ m_id = (-1);
m_bugCollection = null;
+ m_projectName = projectName;
+ m_buildNumber = buildNumber;
+ m_start = new Date().getTime();
+ m_end = 0;
}
public BugCollection getBugCollection() { return m_bugCollection; }
+ public long getId() { return m_id; }
+ public String getProjectName() { return m_projectName; }
+ public String getBuildNumber() { return m_buildNumber; }
+ public Date getStart() { return new Date(m_start); }
+ public Date getEnd() { return (0 == m_end ? null : new Date(m_end)); } // the end time (when FindBugs was done analyzing)
+
+ public void setBugCollection(BugCollection bugs) { m_bugCollection = bugs; }
+ public void setId(long id) { m_id = id; }
+ public void setStart(Date start) { m_start = start.getTime(); }
+ public void setEnd(Date date) { m_end = date.getTime(); }
- public void parse(File xml) throws FileNotFoundException, IOException, SAXException
+ public void parse(InputSource xml) throws FileNotFoundException, IOException, SAXException
{
m_bugCollection = new BugCollection();
- try (InputStreamWrapper isw = new InputStreamWrapper(new FileInputStream(xml)))
- {
- XMLReader reader = XMLReaderFactory.createXMLReader();
- ParseHandler ph = new ParseHandler(m_bugCollection);
- ParseErrorHandler peh = new ParseErrorHandler();
- reader.setContentHandler(ph);
- reader.setErrorHandler(peh);
- reader.parse(new InputSource(isw));
- }
+ XMLReader reader = XMLReaderFactory.createXMLReader();
+ ParseHandler ph = new ParseHandler(m_bugCollection);
+ ParseErrorHandler peh = new ParseErrorHandler();
+ reader.setContentHandler(ph);
+ reader.setErrorHandler(peh);
+ reader.parse(xml);
}
+
public void dump(PrintWriter pw)
{
if (null != m_bugCollection) {