Example #1
0
        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);
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
 public void Append(DiagnositcMessage message)
 {
 }