public KnowlParser(ImpRecGUI gui, KnowlBase kb) { this.gui = gui; this.kb = kb; nodeMode = -1; currentTrackerCase = null; }
public void SerializeObject(string filename, KnowlBase objectToSerialize) { Stream stream = File.Open(filename, FileMode.Create); BinaryFormatter bFormatter = new BinaryFormatter(); bFormatter.Serialize(stream, objectToSerialize); stream.Close(); }
public ImpRecGUI() { InitializeComponent(); ser = new Serializer(); knowlBase = new KnowlBase(); knowlParser = new KnowlParser(this, knowlBase); freshSearch = false; selectionList = new LinkedList<string>(); }
/// <summary> /// Everything that is required at startup. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ImpRecGUI_Load(object sender, EventArgs e) { this.Text = "CaseDigger " + VERSION; session = new SessionInfo(VERSION); session.StoreToolStart(); try { knowlBase = ser.DeSerializeObject(KNOWLBASE_FILENAME); } catch (Exception exc) { DialogResult res = MessageBox.Show("First time the tool is started? Knowledge base needs to be built.", "Knowledge base missing", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation); if (res.Equals(DialogResult.OK)) { MessageBox.Show("Give me a minute..."); BuildKnowledgebase(); MessageBox.Show("Done!"); } } }
/// <summary> /// Build the knowledge base. Creates a Lucene index and parses the semantic network. Also stores IA reports and /// parses the translation file. /// </summary> private void BuildKnowledgebase() { // Build the knowledge base knowlBase = new KnowlBase(); knowlParser = new KnowlParser(this, knowlBase); knowlParser.ParseIssueText(); knowlBase.IndexKnowlBase(); knowlParser.ParseSemNet(); knowlParser.ParseTranslation(); knowlParser.ParseImpactAnalyses(); knowlParser.CalcCentralities(); // serialize it to knowlbase.dat try { ser.SerializeObject(KNOWLBASE_FILENAME, knowlBase); } catch (Exception exc) { } session.WriteRebuildAction(); }