public override void Convert(Stream input, IResultLogWriter output)
{
if (input == null)
{
throw (new ArgumentNullException(nameof(input)));
}
if (output == null)
{
throw (new ArgumentNullException(nameof(output)));
}
LogicalLocationsDictionary.Clear();
var context = new FxCopLogReader.Context();
var results = new List<Result>();
var reader = new FxCopLogReader();
reader.ResultRead += (FxCopLogReader.Context current) => { results.Add(CreateResult(current)); };
reader.Read(context, input);
Tool tool = new Tool
{
Name = "FxCop"
};
var fileInfoFactory = new FileInfoFactory(MimeType.DetermineFromFileExtension);
Dictionary<string, FileData> fileDictionary = fileInfoFactory.Create(results);
output.Initialize(id: null, correlationId: null);
output.WriteTool(tool);
if (fileDictionary != null && fileDictionary.Any())
{
output.WriteFiles(fileDictionary);
}
if (LogicalLocationsDictionary != null && LogicalLocationsDictionary.Any())
{
output.WriteLogicalLocations(LogicalLocationsDictionary);
}
output.OpenResults();
output.WriteResults(results);
output.CloseResults();
}