public void Append(DiagnositcMessage message) { string filepath = string.Empty; string exception = string.Empty; string position = string.Empty; if (message.File != null) { FileInfo file = new FileInfo(message.File); filepath = $" file {file.Directory.Name}\\{file.Name}"; } if (message.Line > 0 || message.Column > 0) { position = $"(line {message.Line}, column {message.Column})"; } if (message.Exception != null) { exception = $"exception {message.Exception.GetType().Name}."; } if (message.Severity == SeverityEnum.Error) { Bb.CommandLine.Outs.Output.WriteLineError($"{exception}{filepath}. {message.Text}.{position}"); } else { Bb.CommandLine.Outs.Output.WriteLineStandard(message.Text + position); } }
internal void Evaluate(FileModel file, JObject payload) { if (file.Schema.IsValidExistingFile) { JsonSchema schema = _parent.GetSchema(file); if (schema != null) { var errors = schema.Validate(payload); foreach (var error in errors) { var msg = new DiagnositcMessage() { Severity = SeverityEnum.Error, File = file.FullPath, Text = $"{error.Kind}, {error.Path}", }; if (error.HasLineInfo) { msg.Line = error.LineNumber; msg.Column = error.LinePosition; } _parent.Diagnostic.Append(msg); } } else { var msg = new DiagnositcMessage() { Severity = SeverityEnum.Warning, File = file.FullPath, Text = $"file {file.Schema.FilePath} not found. referenced in {file.FullPath}", }; _parent.Diagnostic.Append(msg); } } }
public void Append(DiagnositcMessage message) { }