public override void WriteResults(Result result, CLICommandOptions commandOptions, bool autoClose = true) { JsonSerializer jsonSerializer = new JsonSerializer(); jsonSerializer.Formatting = Formatting.Indented; //For console output, update write once for same results to console or file WriteOnce.TextWriter = TextWriter; if (string.IsNullOrEmpty(commandOptions.OutputFilePath)) { WriteOnce.Result("Results"); } if (TextWriter != null) { if (result is TagTestResult) { jsonSerializer.Serialize(TextWriter, (TagTestResult)result); } else if (result is TagDiffResult) { jsonSerializer.Serialize(TextWriter, (TagDiffResult)result); } else if (result is VerifyRulesResult) { jsonSerializer.Serialize(TextWriter, (VerifyRulesResult)result); } else if (result is ExportTagsResult) { jsonSerializer.Serialize(TextWriter, (ExportTagsResult)result); } else if (result is PackRulesResult packRulesResult) { jsonSerializer.Serialize(TextWriter, packRulesResult.Rules);//write rules array only to disk } else { throw new System.Exception("Unexpected object type for json writer"); } } else { WriteOnce.Log?.Error("Unexpected null TextWriter"); } WriteOnce.NewLine(); if (autoClose) { FlushAndClose(); } }
public override void WriteResults(Result result, CLICommandOptions commandOptions, bool autoClose = true) { JsonSerializer jsonSerializer = new(); jsonSerializer.Formatting = Formatting.Indented; jsonSerializer.NullValueHandling = NullValueHandling.Ignore; jsonSerializer.DefaultValueHandling = DefaultValueHandling.Ignore; //For console output, update write once for same results to console or file WriteOnce.TextWriter = TextWriter; if (string.IsNullOrEmpty(commandOptions.OutputFilePath)) { WriteOnce.Result("Results"); } if (TextWriter != null) { switch (result) { case TagDiffResult: case ExportTagsResult: case VerifyRulesResult: jsonSerializer.Serialize(TextWriter, result); break; case PackRulesResult prr: jsonSerializer.Serialize(TextWriter, prr.Rules); break; default: throw new System.Exception("Unexpected object type for json writer"); } } else { WriteOnce.Log?.Error("Unexpected null TextWriter"); } WriteOnce.NewLine(); if (autoClose) { FlushAndClose(); } }
public override void WriteResults(Result result, CLICommandOptions commandOptions, bool autoClose = true) { CLITagTestCmdOptions cLITagTestCmdOptions = (CLITagTestCmdOptions)commandOptions; TagTestResult tagTestResult = (TagTestResult)result; //For console output, update write once for same results to console or file WriteOnce.TextWriter = TextWriter; if (string.IsNullOrEmpty(commandOptions.OutputFilePath)) { WriteOnce.Result("Results"); } WriteOnce.General(MsgHelp.FormatString(MsgHelp.ID.TAGTEST_RESULTS_TEST_TYPE, cLITagTestCmdOptions.TestType), false, WriteOnce.ConsoleVerbosity.Low); if (tagTestResult.ResultCode == TagTestResult.ExitCode.TestFailed) { WriteOnce.Any(MsgHelp.GetString(MsgHelp.ID.TAGTEST_RESULTS_FAIL), true, ConsoleColor.Red, WriteOnce.ConsoleVerbosity.Low); } else { WriteOnce.Any(MsgHelp.GetString(MsgHelp.ID.TAGTEST_RESULTS_SUCCESS), true, ConsoleColor.Green, WriteOnce.ConsoleVerbosity.Low); } if (tagTestResult.TagsStatusList.Count > 0) { WriteOnce.Result("Test results:"); foreach (TagStatus tag in tagTestResult.TagsStatusList) { WriteOnce.General(string.Format("Tag: {0}, Detected: {1}", tag.Tag, tag.Detected)); } } WriteOnce.NewLine(); if (autoClose) { FlushAndClose(); } }
public override void WriteResults(Result result, CLICommandOptions commandOptions, bool autoClose = true) { CLIAnalyzeCmdOptions cLIAnalyzeCmdOptions = (CLIAnalyzeCmdOptions)commandOptions; AnalyzeResult analyzeResult = (AnalyzeResult)result; //For console output, update write once for same results to console or file WriteOnce.TextWriter = TextWriter; if (string.IsNullOrEmpty(commandOptions.OutputFilePath)) { WriteOnce.Result("Results"); } if (cLIAnalyzeCmdOptions.SimpleTagsOnly) { List <string> keys = analyzeResult.Metadata.UniqueTags ?? new List <string>(); TagsFile tags = new TagsFile() { Tags = keys.ToArray() }; TextWriter?.Write(JsonConvert.SerializeObject(tags, Formatting.Indented)); } else { JsonSerializer jsonSerializer = new JsonSerializer(); jsonSerializer.Formatting = Formatting.Indented; if (TextWriter != null) { jsonSerializer.Serialize(TextWriter, analyzeResult); } } WriteOnce.NewLine(); if (autoClose) { FlushAndClose(); } }