public static bool?TestParsing( string sampleLog, IAlertPopup alerts, ITempFilesManager tempFilesManager, IObjectFactory objectsFactory, XmlNode formatRoot, string formatSpecificNodeName ) { if (sampleLog == "") { alerts.ShowPopup("", "Provide sample log first", AlertFlags.Ok | AlertFlags.WarningIcon); return(null); } string tmpLog = tempFilesManager.GenerateNewName(); try { XDocument clonedFormatXmlDocument = XDocument.Parse(formatRoot.OuterXml); UserDefinedFactoryParams createParams; createParams.Entry = null; createParams.RootNode = clonedFormatXmlDocument.Element("format"); createParams.FormatSpecificNode = createParams.RootNode.Element(formatSpecificNodeName); createParams.FactoryRegistry = null; createParams.TempFilesManager = tempFilesManager; // Temporary sample file is always written in Unicode wo BOM: we don't test encoding detection, // we test regexps correctness. using (var w = new StreamWriter(tmpLog, false, new UnicodeEncoding(false, false))) w.Write(sampleLog); ChangeEncodingToUnicode(createParams); var cp = ConnectionParamsUtils.CreateFileBasedConnectionParamsFromFileName(tmpLog); ILogProviderFactory f; if (formatSpecificNodeName == "regular-grammar") { f = new RegularGrammar.UserDefinedFormatFactory(createParams); } else if (formatSpecificNodeName == "xml") { f = new XmlFormat.UserDefinedFormatFactory(createParams); } else { return(null); } using (f as IDisposable) using (var interaction = objectsFactory.CreateTestDialog()) { return(interaction.ShowDialog(f, cp)); } } finally { File.Delete(tmpLog); } }
IConnectionParams IFileBasedLogProviderFactory.CreateParams(string fileName) { return(ConnectionParamsUtils.CreateFileBasedConnectionParamsFromFileName(fileName)); }
public static IConnectionParams CreateConnectionParamsFromBaseFileName(string baseFileName) { return(ConnectionParamsUtils.CreateFileBasedConnectionParamsFromFileName(baseFileName)); }
public IConnectionParams CreateParams(string fileName) { return(ConnectionParamsUtils.CreateFileBasedConnectionParamsFromFileName(fileName)); }