private void bParse_Click(object sender, EventArgs e) { tResult.Text = ""; ScriptScanner scanner = new ScriptScanner(); scanner.Load(tScript.Text); foreach (Lex i in scanner.Lexes) { Output(false, i.Content.ToString(), i.Type.ToString()); } //TokenCollection tokens = engine.Read(tScript.Text); //if (tokens != null) //{ // foreach (Token token in tokens) // { // Output(token.LineNumber + ":\t" + token.TokenType + " " + token.Content); // } // engine.Parse(tokens); //} }
static void Main(string[] args) { Console.WriteLine("Hello, this is a simple console app used to test the SqlScanner class."); var messageList = new List <Azure>(); var inputFilePath = @"c:\sqltest\tests\input\"; var outputFilePath = @"c:\sqltest\tests\output\"; var filePaths = Directory.GetFiles(inputFilePath, "*.SqlDataProvider"); foreach (var filePath in filePaths) { var fileName = filePath.Replace(inputFilePath, ""); var azureScanner = new ScriptScanner(); messageList.AddRange(azureScanner.ProcessAzure(filePath, outputFilePath + fileName)); } filePaths = Directory.GetFiles(outputFilePath, "*.SqlDataProvider"); foreach (var filePath in filePaths) { var fileName = filePath.Replace(inputFilePath, ""); var azureScanner = new ScriptScanner(); messageList.AddRange(azureScanner.LogAzure(filePath)); } foreach (var azure in messageList) { Console.WriteLine(azure.ToString()); } Console.WriteLine("Done."); Console.ReadKey(); }
public void ProcessScripts(List <VerificationMessage> r, Package package, Models.Manifest manifest) { try { var tempPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); Directory.CreateDirectory(tempPath); var messageList = new List <Azure>(); var azureScanner = new ScriptScanner(); foreach (var sqlScriptFile in manifest.InstallScripts) { if (!File.Exists(sqlScriptFile.TempFilePath) || sqlScriptFile.IsUnInstall) { continue; } //we have script files, now let's see if they will work in Azure. string fileName; if (sqlScriptFile.TempFilePath.Contains("\\")) { var fileParts = sqlScriptFile.TempFilePath.Split('\\'); fileName = fileParts[fileParts.Length - 1]; } else { fileName = sqlScriptFile.Name; } messageList.AddRange(azureScanner.ProcessAzure(sqlScriptFile.TempFilePath, tempPath + "\\" + fileName)); } //var outputFilePaths = Directory.GetFiles(tempPath, "*.SqlDataProvider"); var outputFilePaths = Directory.GetFiles(tempPath, "*.sql"); package.SQLOutputPath = tempPath; foreach (var filePath in outputFilePaths) { messageList.AddRange(azureScanner.LogAzure(filePath)); } foreach (var azure in messageList) { var messageType = azure.MessageType.ToString(); if (messageType == Models.MessageTypes.Error.ToString()) { r.Add(new VerificationMessage { Message = azure.ToString(), MessageType = Models.MessageTypes.Error, MessageId = new Guid("6f6ed7be-c182-4baf-a369-809b7d99549a"), Rule = GetType().ToString() }); } else if (messageType == Models.MessageTypes.Info.ToString()) { //r.Add(new Models.VerificationMessage { Message = azure.ToString(), MessageType = Models.MessageTypes.Info, MessageId = new Guid("1d4eba86-a23f-4bd0-afdf-430ed4c4a2a8"), Rule = GetType().ToString() }); } else if (messageType == Models.MessageTypes.SystemError.ToString()) { r.Add(new VerificationMessage { Message = azure.ToString(), MessageType = Models.MessageTypes.SystemError, MessageId = new Guid("a2cb34dd-c882-4302-ade0-d38c75e98fa2"), Rule = GetType().ToString() }); } else if (messageType == Models.MessageTypes.Warning.ToString()) { r.Add(new VerificationMessage { Message = azure.ToString(), MessageType = Models.MessageTypes.Warning, MessageId = new Guid("3a9452d3-dce5-4f78-93af-12645ae224ac"), Rule = GetType().ToString() }); } else { r.Add(new VerificationMessage { Message = "Could not parse the SQL Azure error message type.", MessageType = Models.MessageTypes.SystemError, MessageId = new Guid("4fef4b2c-4b8d-4ff9-b345-072a53a84a35"), Rule = GetType().ToString() }); } } } catch (Exception exc) { Trace.WriteLine("There was an issue with the SQL Azure scanner", exc.Message); r.Add(new VerificationMessage { Message = "An Error occurred while processing Rules.Manifest.Components.Scripts: " + exc.Message, MessageType = Models.MessageTypes.SystemError, MessageId = new Guid("6addcb0f-41c7-4b8f-b521-ca5f92d26285"), Rule = GetType().ToString() }); } }
/// <summary> /// /// </summary> public ScriptTag() { ThisScanner = new ScriptScanner(); }