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();
XmlReaderSettings settings = new XmlReaderSettings
{
IgnoreWhitespace = true,
IgnoreComments = true,
IgnoreProcessingInstructions = true,
NameTable = _nameTable,
DtdProcessing = DtdProcessing.Ignore,
XmlResolver = null
};
ISet<Result> results;
using (XmlReader xmlReader = XmlReader.Create(input, settings))
{
results = ProcessAndroidStudioLog(xmlReader);
}
var tool = new Tool
{
Name = "AndroidStudio"
};
var fileInfoFactory = new FileInfoFactory(uri => MimeType.Java);
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();
}