1 package net.jaekl.cfb.analyze;
3 // Copyright (C) 2015 Christian Jaekl
6 import java.io.FileInputStream;
7 import java.io.FileNotFoundException;
8 import java.io.IOException;
9 import java.io.PrintWriter;
11 import org.xml.sax.InputSource;
12 import org.xml.sax.SAXException;
13 import org.xml.sax.XMLReader;
14 import org.xml.sax.helpers.XMLReaderFactory;
16 import net.jaekl.cfb.xml.BugCollection;
17 import net.jaekl.qd.util.InputStreamWrapper;
18 import net.jaekl.qd.xml.ParseErrorHandler;
19 import net.jaekl.qd.xml.ParseHandler;
21 public class Analysis {
22 BugCollection m_bugCollection;
25 m_bugCollection = null;
28 public BugCollection getBugCollection() { return m_bugCollection; }
30 public void parse(File xml) throws FileNotFoundException, IOException, SAXException
32 m_bugCollection = new BugCollection();
34 try (InputStreamWrapper isw = new InputStreamWrapper(new FileInputStream(xml)))
36 XMLReader reader = XMLReaderFactory.createXMLReader();
37 ParseHandler ph = new ParseHandler(m_bugCollection);
38 ParseErrorHandler peh = new ParseErrorHandler();
39 reader.setContentHandler(ph);
40 reader.setErrorHandler(peh);
41 reader.parse(new InputSource(isw));
45 public void dump(PrintWriter pw)
47 if (null != m_bugCollection) {
48 m_bugCollection.dump(pw, 2);