diff --git a/Adaptation/FileHandlers/IQSSi/FileRead.cs b/Adaptation/FileHandlers/IQSSi/FileRead.cs index f160ef5..9da6ea4 100644 --- a/Adaptation/FileHandlers/IQSSi/FileRead.cs +++ b/Adaptation/FileHandlers/IQSSi/FileRead.cs @@ -179,31 +179,6 @@ public class FileRead : Shared.FileRead, IFileRead WaitForFileConsumption(dateTime, descriptions, isDummyRun, successDirectory, duplicateDirectory, collection, duplicateFile); } - 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)); - string lines = File.ReadAllText(reportFullPath); - lines = lines - .Replace("ppm\t", "\t") - .Replace("mm2\t", "\t") - .Replace("um\t", "\t") - .Replace("mm\t", "\t") - .Replace("nm\t", "\t") - .Replace("\t[ ", "\t") - .Replace("\t*0", "\t") - .Replace("\t*", "\t") - .Replace("%\t", "\t") - .Replace("]\t", "\t"); - File.WriteAllText(duplicateFile, lines); - 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; @@ -241,8 +216,6 @@ public class FileRead : Shared.FileRead, IFileRead if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) SaveIQSFile(reportFullPath, dateTime, descriptions, tests); if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) - FileCopy(reportFullPath, dateTime, descriptions); - if (string.IsNullOrEmpty(reportFullPath) && _IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) WriteFile(reportFullPath, dateTime, descriptions); return results; } diff --git a/Adaptation/MET08DDUPSFS6420.yml b/Adaptation/MET08DDUPSFS6420.yml index 13aa50f..60c1b2c 100644 --- a/Adaptation/MET08DDUPSFS6420.yml +++ b/Adaptation/MET08DDUPSFS6420.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: false - - 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: false - - 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..1fb9e2a 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 < 3) + 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(" "); }