/// <summary> /// Only AnalyzeResultsWriter supports an html option /// </summary> /// <param name="options"></param> /// <returns></returns> private static CommandResultsWriter GetAnalyzeWriter(CLIAnalyzeCmdOptions options) { CommandResultsWriter?writer; switch (options.OutputFileFormat.ToLower()) { case "_dummy": writer = new AnalyzeDummyWriter(); break; case "json": writer = new AnalyzeJsonWriter(); break; case "text": writer = new AnalyzeTextWriter(options.TextOutputFormat); break; case "html": writer = new AnalyzeHtmlWriter(); break; default: WriteOnce.Error(MsgHelp.FormatString(MsgHelp.ID.CMD_INVALID_ARG_VALUE, "-f")); throw new OpException((MsgHelp.FormatString(MsgHelp.ID.CMD_INVALID_ARG_VALUE, "-f"))); } //assign the stream as a file or console writer.OutputFileName = options.OutputFilePath; writer.TextWriter = GetTextWriter(writer.OutputFileName); return(writer); }
private void WriteJsonResult() { //writes out json report for convenient link from report summary page(s) CLIAnalyzeCmdOptions jsonOptions = new CLIAnalyzeCmdOptions() { OutputFileFormat = "json", OutputFilePath = "output.json" }; //quiet normal write noise for json writter to just gen the file; then restore WriteOnce.ConsoleVerbosity saveVerbosity = WriteOnce.Verbosity; WriteOnce.Verbosity = WriteOnce.ConsoleVerbosity.None; AnalyzeJsonWriter jsonWriter = (AnalyzeJsonWriter)WriterFactory.GetWriter(jsonOptions); jsonWriter.WriteResults(_analyzeResult, jsonOptions); WriteOnce.Verbosity = saveVerbosity; }