/** Creates a new instance of AnalysisThread */ public AnalysisThread(FileCollection theFileCollection, FFSignatureFile theSigFile, AnalysisController theAnalysisController) { myFileCollection = theFileCollection; mySigFile = theSigFile; myAnalysisController = theAnalysisController; }
/** * Reads and parses the signature file * @param theSigFileName Name of the signature file * @param isConfigSave Flag to indicate whether the configuration file should be updated with this signature file. * @param hideWarning gives the ability to hide the warning if a file failes to load */ public void readSigFile(string theSigFileName, bool isConfigSave, bool hideWarning) //throws Exception { { try { //checks that the file exists, throws an error if it doesn't checkFile(theSigFileName); //store the name of the new signature file myConfigFile.setSigFile(theSigFileName); //prepare for XML read MessageDisplay.ResetXmlRead(); //carry out XML read mySigFile = parseSigFile(theSigFileName); mySigFile.prepareForUse(); String theVersion = mySigFile.getVersion(); try { myConfigFile.setSigFileVersion(theVersion); } catch(Exception) { } //let the user know the outcome MessageDisplay.SetStatusText("Current signature file is V"+getSigFileVersion(), "Signature file V"+getSigFileVersion()+" has been checked"); int numXMLWarnings = MessageDisplay.GetNumberOfXmlWarnings(); //.getNumXMLWarnings(); if(numXMLWarnings > 0) { String successMessage = "The signature file "+theSigFileName+" was loaded with "+numXMLWarnings+" warnings"; String cmdlineMessage = numXMLWarnings+" warnings were found"; MessageDisplay.GeneralInformation(successMessage, cmdlineMessage); } if (isConfigSave) { //update the configuration file to contain the details of this signature file try { saveConfiguration(); } catch(System.IO.IOException) { MessageDisplay.GeneralWarning("Unable to save configuration updates"); } } } catch (Exception e) { if(!hideWarning) { MessageDisplay.GeneralWarning(e.ToString()); } mySigFile = null; } }