Refactor OpenInsight file handling to utilize JsonElement for data processing and enhance serialization with JsonSourceGeneration. Updated methods across multiple classes to improve data handling and reduce dependencies on ProcessDataStandardFormat.

This commit is contained in:
2025-09-08 15:31:55 -07:00
parent 7739ff03a2
commit 48ad90c0f1
12 changed files with 149 additions and 140 deletions

View File

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace Adaptation.FileHandlers.Stratus;
@ -6,15 +7,26 @@ public class Detail
{
public string HeaderUniqueId { get; set; }
public string Mean { get; set; }
public string PassFail { get; set; }
public string Position { get; set; }
public string Recipe { get; set; }
public string Slot { get; set; }
public string StdDev { get; set; }
[JsonPropertyName("Mean")] public string Mean { get; set; }
[JsonPropertyName("PassFail")] public string PassFail { get; set; }
[JsonPropertyName("Recipe")] public string Recipe { get; set; }
[JsonPropertyName("Slot")] public string Slot { get; set; }
[JsonPropertyName("StdDev")] public string StdDev { get; set; }
public string UniqueId { get; set; }
public string Thickness { get; set; }
public string Wafer { get; set; }
[JsonPropertyName("Site")] public string Thickness { get; set; } // different name
[JsonPropertyName("Text")] public string Wafer { get; set; } // different name
public List<Point> Points { get; set; }
}
[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
[JsonSerializable(typeof(Detail))]
internal partial class DetailSourceGenerationContext : JsonSerializerContext
{
}
[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
[JsonSerializable(typeof(Detail[]))]
internal partial class DetailArraySourceGenerationContext : JsonSerializerContext
{
}