From 515df7ec37a5fad41bb57361775469310c3aeca9 Mon Sep 17 00:00:00 2001 From: "phares@iscn5cg20977xq" Date: Tue, 2 Sep 2025 11:29:32 -0700 Subject: [PATCH] Switched to xml for InfinityQS export --- Adaptation/FileHandlers/IQSSi/FileRead.cs | 15 ------- Adaptation/MET08THFTIRQS408M.yml | 36 ----------------- .../Shared/ProcessDataStandardFormat.cs | 40 ++++++++++++++++++- 3 files changed, 38 insertions(+), 53 deletions(-) diff --git a/Adaptation/FileHandlers/IQSSi/FileRead.cs b/Adaptation/FileHandlers/IQSSi/FileRead.cs index c9dc904..44892ad 100644 --- a/Adaptation/FileHandlers/IQSSi/FileRead.cs +++ b/Adaptation/FileHandlers/IQSSi/FileRead.cs @@ -103,19 +103,6 @@ public class FileRead : Shared.FileRead, IFileRead return results; } - private void FileCopy(string reportFullPath, DateTime dateTime, List descriptions) where T : Shared.Properties.IDescription - { - bool isDummyRun = false; - string successDirectory = string.Empty; - List<(Shared.Properties.IScopeInfo, string)> collection = new(); - string duplicateDirectory = Path.Combine(_FileConnectorConfiguration.SourceFileLocation, _CellInstanceName); - if (!Directory.Exists(duplicateDirectory)) - _ = Directory.CreateDirectory(duplicateDirectory); - string duplicateFile = Path.Combine(duplicateDirectory, Path.GetFileName(reportFullPath)); - File.Copy(reportFullPath, duplicateFile, overwrite: true); - WaitForFileConsumption(dateTime, descriptions, isDummyRun, successDirectory, duplicateDirectory, collection, duplicateFile); - } - private void WriteFile(string reportFullPath, DateTime dateTime, List descriptions) where T : Shared.Properties.IDescription { bool isDummyRun = false; @@ -140,8 +127,6 @@ public class FileRead : Shared.FileRead, IFileRead List descriptions = GetDuplicatorDescriptions(jsonElements); Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) - FileCopy(reportFullPath, dateTime, descriptions); - if (string.IsNullOrEmpty(reportFullPath) && _IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) WriteFile(reportFullPath, dateTime, descriptions); results = new Tuple>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List()); return results; diff --git a/Adaptation/MET08THFTIRQS408M.yml b/Adaptation/MET08THFTIRQS408M.yml index c1a90e9..ae1b261 100644 --- a/Adaptation/MET08THFTIRQS408M.yml +++ b/Adaptation/MET08THFTIRQS408M.yml @@ -41,24 +41,6 @@ stages: displayName: "Nuget Clear" enabled: false - - task: CopyFiles@2 - displayName: 'Copy GhostPCL Files to: D:\EAF-Mesa-Integration\copy' - inputs: - Contents: "*" - SourceFolder: '\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL' - TargetFolder: 'D:\EAF-Mesa-Integration\copy\GhostPCL' - OverWrite: true - enabled: true - - - task: CopyFiles@2 - displayName: 'Copy LincPDFC Files to: D:\EAF-Mesa-Integration\copy' - inputs: - Contents: "*" - SourceFolder: '\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC' - TargetFolder: 'D:\EAF-Mesa-Integration\copy\LincPDFC' - OverWrite: true - enabled: true - - script: | "C:\program files\dotnet\dotnet.exe" user-secrets init "C:\program files\dotnet\dotnet.exe" user-secrets set "BuildNumber" "$(Build.BuildId)" @@ -202,24 +184,6 @@ stages: displayName: "Nuget Clear" enabled: false - - task: CopyFiles@2 - displayName: 'Copy GhostPCL Files to: D:\EAF-Mesa-Integration\copy' - inputs: - Contents: "*" - SourceFolder: '\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL' - TargetFolder: 'D:\EAF-Mesa-Integration\copy\GhostPCL' - OverWrite: true - enabled: true - - - task: CopyFiles@2 - displayName: 'Copy LincPDFC Files to: D:\EAF-Mesa-Integration\copy' - inputs: - Contents: "*" - SourceFolder: '\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC' - TargetFolder: 'D:\EAF-Mesa-Integration\copy\LincPDFC' - OverWrite: true - enabled: true - - script: | "C:\program files\dotnet\dotnet.exe" user-secrets init "C:\program files\dotnet\dotnet.exe" user-secrets set "BuildNumber" "$(Build.BuildId)" diff --git a/Adaptation/Shared/ProcessDataStandardFormat.cs b/Adaptation/Shared/ProcessDataStandardFormat.cs index 0b7a561..92b9f3d 100644 --- a/Adaptation/Shared/ProcessDataStandardFormat.cs +++ b/Adaptation/Shared/ProcessDataStandardFormat.cs @@ -872,6 +872,8 @@ internal class ProcessDataStandardFormat string tag; string value; string[] segments; + List values; + Dictionary> results = new(); ReadOnlyCollection body = processDataStandardFormat.InputPDSF is null ? processDataStandardFormat.Body : processDataStandardFormat.InputPDSF.Body; ReadOnlyCollection columns = processDataStandardFormat.InputPDSF is null ? @@ -879,7 +881,6 @@ internal class ProcessDataStandardFormat List lines = new() { "", "" }; for (int i = 0; i < body.Count; i++) { - lines.Add(" "); segments = body[i].Trim().Split('\t'); if (segments.Length != columns.Count) break; @@ -891,7 +892,42 @@ internal class ProcessDataStandardFormat .Replace("\"", """) .Replace("'", "'"); tag = Regex.Replace(columns[c].Trim('"'), @"[^a-zA-Z0-9]", "_").Split('\r')[0].Split('\n')[0]; - lines.Add(string.Concat(" <", tag, '>', value, "')); + if (i == 0) + { + if (results.ContainsKey(tag)) + continue; + results.Add(tag, new List()); + } + results[tag].Add(value); + } + } + foreach (KeyValuePair> keyValuePair in results) + { + if (body.Count < 2) + break; + if (keyValuePair.Value.Count != body.Count) + continue; + values = keyValuePair.Value.Distinct().ToList(); + if (values.Count == 2 && (string.IsNullOrEmpty(values[0]) || string.IsNullOrEmpty(values[1]))) + { + for (int i = 0; i < body.Count; i++) + keyValuePair.Value[i] = string.Empty; + foreach (string v in values) + { + if (string.IsNullOrEmpty(v)) + continue; + keyValuePair.Value[0] = v; + } + } + } + for (int i = 0; i < body.Count; i++) + { + lines.Add(" "); + foreach (KeyValuePair> keyValuePair in results) + { + if (keyValuePair.Value.Count != body.Count) + continue; + lines.Add(string.Concat(" <", keyValuePair.Key, '>', keyValuePair.Value[i], "')); } lines.Add(" "); }