diff --git a/Adaptation/FileHandlers/Dummy/FileRead.cs b/Adaptation/FileHandlers/Dummy/FileRead.cs index 13e1876..6ef5f81 100644 --- a/Adaptation/FileHandlers/Dummy/FileRead.cs +++ b/Adaptation/FileHandlers/Dummy/FileRead.cs @@ -220,61 +220,47 @@ public class FileRead : Shared.FileRead, IFileRead { try { - string pathSegment; - string monARessource; + string sourceParentDirectory; + string targetParentDirectory; DateTime dateTime = DateTime.Now; - if (!_FileConnectorConfiguration.TargetFileLocation.Contains(_FileConnectorConfiguration.SourceFileLocation)) - throw new Exception("Target must start with source"); + if (!string.IsNullOrEmpty(Path.GetFileName(_FileConnectorConfiguration.SourceFileLocation))) + sourceParentDirectory = Path.GetDirectoryName(_FileConnectorConfiguration.SourceFileLocation); + else + sourceParentDirectory = Path.GetDirectoryName(Path.GetDirectoryName(_FileConnectorConfiguration.SourceFileLocation)); + if (!string.IsNullOrEmpty(Path.GetFileName(_FileConnectorConfiguration.TargetFileLocation))) + targetParentDirectory = Path.GetDirectoryName(_FileConnectorConfiguration.TargetFileLocation); + else + targetParentDirectory = Path.GetDirectoryName(Path.GetDirectoryName(_FileConnectorConfiguration.TargetFileLocation)); + if (sourceParentDirectory != targetParentDirectory) + throw new Exception("Target and source must have the same parent for Si Dummy FileConnectorConfiguration!"); bool check = dateTime.Hour > 7 && dateTime.Hour < 18 && dateTime.DayOfWeek != DayOfWeek.Sunday && dateTime.DayOfWeek != DayOfWeek.Saturday; if (!_IsEAFHosted || check) { - string checkSegment; - string checkDirectory; + string monARessource; string sourceFileFilter; string sourceArchiveFile; - string sourceFileLocation; string weekOfYear = _Calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00"); string traceDummyDirectory = Path.Combine(Path.GetPathRoot(_TracePath), "TracesDummy", _CellInstanceName, "Source", $"{dateTime:yyyy}___Week_{weekOfYear}"); if (!Directory.Exists(traceDummyDirectory)) _ = Directory.CreateDirectory(traceDummyDirectory); string traceDummyFile = Path.Combine(traceDummyDirectory, $"{dateTime.Ticks} - {_CellInstanceName}.txt"); File.AppendAllText(traceDummyFile, string.Empty); - if (_FileConnectorConfiguration.SourceFileLocation.EndsWith("\\")) - sourceFileLocation = _FileConnectorConfiguration.SourceFileLocation; - else - sourceFileLocation = string.Concat(_FileConnectorConfiguration.SourceFileLocation, '\\'); for (int i = 0; i < _FileConnectorConfiguration.SourceFileFilters.Count; i++) { _LastDummyRunIndex += 1; if (_LastDummyRunIndex >= _FileConnectorConfiguration.SourceFileFilters.Count) _LastDummyRunIndex = 0; sourceFileFilter = _FileConnectorConfiguration.SourceFileFilters[_LastDummyRunIndex]; - sourceArchiveFile = Path.GetFullPath(string.Concat(sourceFileLocation, sourceFileFilter)); + sourceArchiveFile = Path.Combine(_FileConnectorConfiguration.SourceFileLocation, sourceFileFilter); if (File.Exists(sourceArchiveFile)) { - checkSegment = _FileConnectorConfiguration.TargetFileLocation.Substring(sourceFileLocation.Length); - checkDirectory = Path.GetDirectoryName(sourceArchiveFile); - for (int z = 0; z < int.MaxValue; z++) - { - if (checkDirectory.Length < sourceFileLocation.Length || !checkDirectory.StartsWith(sourceFileLocation)) - break; - checkDirectory = Path.GetDirectoryName(checkDirectory); - if (Directory.Exists(Path.Combine(checkDirectory, checkSegment))) - { - checkDirectory = Path.Combine(checkDirectory, checkSegment); - break; - } - } - if (!checkDirectory.EndsWith(checkSegment)) - throw new Exception("Could not determine dummy target directory for extract!"); if (!long.TryParse(Path.GetFileNameWithoutExtension(sourceArchiveFile).Replace("x", string.Empty), out long sequence)) throw new Exception("Invalid file name for source archive file!"); - pathSegment = checkDirectory.Substring(sourceFileLocation.Length); - monARessource = GetCellName(pathSegment); + monARessource = GetCellName(sourceArchiveFile); if (string.IsNullOrEmpty(monARessource)) throw new Exception("Could not determine which cell archive file is associated with!"); if (_IsEAFHosted) - CallbackFileExists(sourceArchiveFile, traceDummyFile, checkDirectory, monARessource, sequence); + CallbackFileExists(sourceArchiveFile, traceDummyFile, _FileConnectorConfiguration.TargetFileLocation, monARessource, sequence); break; } } diff --git a/Adaptation/FileHandlers/MET08THFTIRSTRATUS/FileRead.cs b/Adaptation/FileHandlers/MET08THFTIRSTRATUS/FileRead.cs index 2aff2b4..fd32d42 100644 --- a/Adaptation/FileHandlers/MET08THFTIRSTRATUS/FileRead.cs +++ b/Adaptation/FileHandlers/MET08THFTIRSTRATUS/FileRead.cs @@ -289,123 +289,4 @@ public class FileRead : Shared.FileRead, IFileRead return results; } - private void CallbackIsDummy(string traceDummyFile, List> tuples, bool fileConnectorConfigurationIncludeSubDirectories, bool includeSubDirectoriesExtra) - {} - - private void Callback(object state) - { - if (!_IsDummy) - throw new Exception(); - try - { - DateTime dateTime = DateTime.Now; - bool check = dateTime.Hour > 7 && dateTime.Hour < 18 && dateTime.DayOfWeek != DayOfWeek.Sunday && dateTime.DayOfWeek != DayOfWeek.Saturday; - if (check) - { - int fileCount; - string[] files; - string monARessource; - string checkDirectory; - string sourceArchiveFile; - string sourceFileLocation; - string inProcessDirectory; - string weekOfYear = _Calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00"); - string traceDummyDirectory = string.Concat(Path.GetPathRoot(_TracePath), @"\TracesDummy\", _CellInstanceName, @"\Source\", dateTime.ToString("yyyy"), "___Week_", weekOfYear); - if (!Directory.Exists(traceDummyDirectory)) - _ = Directory.CreateDirectory(traceDummyDirectory); - string traceDummyFile = string.Concat(traceDummyDirectory, @"\", dateTime.Ticks, " - ", _CellInstanceName, ".txt"); - File.AppendAllText(traceDummyFile, string.Empty); - List> tuples = new(); - string progressDirectory = Path.GetFullPath(string.Concat(_FileConnectorConfiguration.SourceFileLocation, @"\_ Progress")); - if (progressDirectory != _ProgressPath || !Directory.Exists(progressDirectory)) - throw new Exception("Invalid progress path"); - foreach (KeyValuePair keyValuePair in _CellNames) - { - monARessource = keyValuePair.Key; - if (!keyValuePair.Value.Contains(@"\")) - continue; - foreach (string sourceFileFilter in _FileConnectorConfiguration.SourceFileFilter.Split('|')) - { - if (sourceFileFilter.ToLower().StartsWith(keyValuePair.Value.Replace(@"\", string.Empty))) - sourceFileLocation = Path.GetFullPath(_FileConnectorConfiguration.SourceFileLocation); - else if (_FileConnectorConfiguration.SourceFileLocation.ToLower().EndsWith(keyValuePair.Value)) - sourceFileLocation = Path.GetFullPath(_FileConnectorConfiguration.SourceFileLocation); - else - sourceFileLocation = Path.GetFullPath(string.Concat(_FileConnectorConfiguration.SourceFileLocation, @"\", keyValuePair.Value)); - sourceArchiveFile = Path.GetFullPath(string.Concat(sourceFileLocation, @"\", sourceFileFilter)); - if (!File.Exists(sourceArchiveFile)) - continue; - if (!_DummyRuns.ContainsKey(monARessource)) - _DummyRuns.Add(monARessource, new List()); - tuples.Add(new Tuple(monARessource, sourceFileFilter, sourceFileLocation, sourceArchiveFile, 0)); - } - } - File.AppendAllLines(traceDummyFile, from l in tuples select l.Item4); - if (tuples.Any()) - { - _LastDummyRunIndex += 1; - if (_LastDummyRunIndex >= tuples.Count) - _LastDummyRunIndex = 0; - monARessource = tuples[_LastDummyRunIndex].Item1; - string sourceFileFilter = tuples[_LastDummyRunIndex].Item2; - sourceFileLocation = tuples[_LastDummyRunIndex].Item3; - sourceArchiveFile = tuples[_LastDummyRunIndex].Item4; - //fileCount = tuples[_LastDummyRunIndex].Item5; - tuples.Clear(); - if (long.TryParse(Path.GetFileNameWithoutExtension(sourceArchiveFile).Replace("x", string.Empty), out long sequence)) - { - if (!_DummyRuns[monARessource].Contains(sequence)) - _DummyRuns[monARessource].Add(sequence); - inProcessDirectory = string.Concat(progressDirectory, @"\Dummy_in process\", sequence); - checkDirectory = inProcessDirectory; - if (!Directory.Exists(checkDirectory)) - _ = Directory.CreateDirectory(checkDirectory); - files = Directory.GetFiles(checkDirectory, "*", SearchOption.AllDirectories); - fileCount = files.Length; - if (files.Any()) - { - if (files.Length > 250) - throw new Exception("Safety net!"); - try - { - foreach (string file in files) - File.Delete(file); - } - catch (Exception) { } - } - tuples.Add(new Tuple(monARessource, sourceArchiveFile, inProcessDirectory, checkDirectory, fileCount)); - checkDirectory = sourceFileLocation; - files = Directory.GetFiles(checkDirectory, string.Concat("*", sequence, "*"), SearchOption.TopDirectoryOnly); - fileCount = files.Length; - tuples.Add(new Tuple(monARessource, sourceArchiveFile, inProcessDirectory, checkDirectory, fileCount)); - } - } - if (tuples.Any()) - //CallbackIsDummy(traceDummyFile, tuples, FileConnectorConfiguration.IncludeSubDirectories.Value, includeSubDirectoriesExtra: false); - CallbackIsDummy(traceDummyFile, tuples, fileConnectorConfigurationIncludeSubDirectories: true, includeSubDirectoriesExtra: true); - } - } - catch (Exception exception) - { - string subject = string.Concat("Exception:", _CellInstanceConnectionName); - string body = string.Concat(exception.Message, Environment.NewLine, Environment.NewLine, exception.StackTrace); - try - { _SMTP.SendHighPriorityEmailMessage(subject, body); } - catch (Exception) { } - } - try - { - TimeSpan timeSpan = new(DateTime.Now.AddSeconds(_FileConnectorConfiguration.FileScanningIntervalInSeconds.Value).Ticks - DateTime.Now.Ticks); - _ = _Timer.Change((long)timeSpan.TotalMilliseconds, Timeout.Infinite); - } - catch (Exception exception) - { - string subject = string.Concat("Exception:", _CellInstanceConnectionName); - string body = string.Concat(exception.Message, Environment.NewLine, Environment.NewLine, exception.StackTrace); - try - { _SMTP.SendHighPriorityEmailMessage(subject, body); } - catch (Exception) { } - } - } - } \ No newline at end of file diff --git a/Adaptation/FileHandlers/ToArchive/FileRead.cs b/Adaptation/FileHandlers/ToArchive/FileRead.cs index 0a20e26..05860a0 100644 --- a/Adaptation/FileHandlers/ToArchive/FileRead.cs +++ b/Adaptation/FileHandlers/ToArchive/FileRead.cs @@ -113,9 +113,9 @@ public class FileRead : Shared.FileRead, IFileRead { if (dateTime == DateTime.MinValue) { } - Tuple> results = new(string.Empty, null, null, new List()); + Tuple> results = new(string.Empty, null, null, new List()); Tuple pdsf = ProcessDataStandardFormat.GetLogisticsColumnsAndBody(reportFullPath); - _Logistics = new Logistics(reportFullPath, pdsf.Item1); + _Logistics = new Logistics(reportFullPath, pdsf.Item1); SetFileParameterLotIDToLogisticsMID(); return results; } diff --git a/Adaptation/MET08THFTIRSTRATUS.Tests.csproj b/Adaptation/MET08THFTIRSTRATUS.Tests.csproj index fd8c447..bf5b508 100644 --- a/Adaptation/MET08THFTIRSTRATUS.Tests.csproj +++ b/Adaptation/MET08THFTIRSTRATUS.Tests.csproj @@ -6,6 +6,10 @@ SAK + enable + 10.0 + disable + win-x64 net6.0 false diff --git a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/BIORAD4.cs b/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/BIORAD4.cs index e612f2e..4b7f679 100644 --- a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/BIORAD4.cs +++ b/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/BIORAD4.cs @@ -80,9 +80,4 @@ public class BIORAD4 : EAFLoggingUnitTesting EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit")); } -} - -// dotnet build --runtime win-x64 -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.CreateSelfDescription.Staging.v2_36_3" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.CreateSelfDescription.Staging.v2_36_3 & ClassName~BIORAD4" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.CreateSelfDescription.Staging.v2_36_3 & ClassName~BIORAD4 & Staging__v2_36_3__BIORAD4__QS408M" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") \ No newline at end of file +} \ No newline at end of file diff --git a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/BIORAD5.cs b/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/BIORAD5.cs index a954e95..45107d7 100644 --- a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/BIORAD5.cs +++ b/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/BIORAD5.cs @@ -80,9 +80,4 @@ public class BIORAD5 : EAFLoggingUnitTesting EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit")); } -} - -// dotnet build --runtime win-x64 -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.CreateSelfDescription.Staging.v2_36_3" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.CreateSelfDescription.Staging.v2_36_3 & ClassName~BIORAD5" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.CreateSelfDescription.Staging.v2_36_3 & ClassName~BIORAD5 & Staging__v2_36_3__BIORAD5__QS408M" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") \ No newline at end of file +} \ No newline at end of file diff --git a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/MET08THFTIRSTRATUS.cs b/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/MET08THFTIRSTRATUS.cs index 8c15371..c2de39f 100644 --- a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/MET08THFTIRSTRATUS.cs +++ b/Adaptation/_Tests/CreateSelfDescription/Staging/v2.36.3/MET08THFTIRSTRATUS.cs @@ -138,9 +138,4 @@ public class MET08THFTIRSTRATUS : EAFLoggingUnitTesting EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit")); } -} - -// dotnet build --runtime win-x64 -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.CreateSelfDescription.Staging.v2_36_3" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.CreateSelfDescription.Staging.v2_36_3 & ClassName~MET08THFTIRSTRATUS" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.CreateSelfDescription.Staging.v2_36_3 & ClassName~MET08THFTIRSTRATUS & Staging__v2_36_3__MET08THFTIRSTRATUS__MET08THFTIRSTRATUS________" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") \ No newline at end of file +} \ No newline at end of file diff --git a/Adaptation/_Tests/Extract/Staging/v2.36.3/BIORAD4.cs b/Adaptation/_Tests/Extract/Staging/v2.36.3/BIORAD4.cs index e569d6a..75b36c8 100644 --- a/Adaptation/_Tests/Extract/Staging/v2.36.3/BIORAD4.cs +++ b/Adaptation/_Tests/Extract/Staging/v2.36.3/BIORAD4.cs @@ -106,12 +106,4 @@ public class BIORAD4 [TestMethod] public void Staging__v2_36_3__BIORAD4__QS408M() => _BIORAD4.Staging__v2_36_3__BIORAD4__QS408M(); -} - -// dotnet build --runtime win-x64 -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3 & ClassName~BIORAD4" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3 & ClassName~BIORAD4 & Staging__v2_36_3__BIORAD4__QS408M" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3 & ClassName~BIORAD4 & Staging__v2_36_3__BIORAD4__txt637730081979221342__Normal" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3 & ClassName~BIORAD4 & Staging__v2_36_3__BIORAD4__Stratus637733400573863329__ReactorAndRDS" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// \ No newline at end of file +} \ No newline at end of file diff --git a/Adaptation/_Tests/Extract/Staging/v2.36.3/BIORAD5.cs b/Adaptation/_Tests/Extract/Staging/v2.36.3/BIORAD5.cs index 6059731..785ea5e 100644 --- a/Adaptation/_Tests/Extract/Staging/v2.36.3/BIORAD5.cs +++ b/Adaptation/_Tests/Extract/Staging/v2.36.3/BIORAD5.cs @@ -52,9 +52,4 @@ public class BIORAD5 [TestMethod] public void Staging__v2_36_3__BIORAD5__QS408M() => _BIORAD5.Staging__v2_36_3__BIORAD5__QS408M(); -} - -// dotnet build --runtime win-x64 -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3 & ClassName~BIORAD5" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3 & ClassName~BIORAD5 & Staging__v2_36_3__BIORAD5__Stratus637738592809956919__ReactorAndRDS" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") \ No newline at end of file +} \ No newline at end of file diff --git a/Adaptation/_Tests/Extract/Staging/v2.36.3/MET08THFTIRSTRATUS.cs b/Adaptation/_Tests/Extract/Staging/v2.36.3/MET08THFTIRSTRATUS.cs index 85e0361..9326e45 100644 --- a/Adaptation/_Tests/Extract/Staging/v2.36.3/MET08THFTIRSTRATUS.cs +++ b/Adaptation/_Tests/Extract/Staging/v2.36.3/MET08THFTIRSTRATUS.cs @@ -83,9 +83,4 @@ public class MET08THFTIRSTRATUS [TestMethod] public void Staging__v2_36_3__MET08THFTIRSTRATUS__MET08THFTIRSTRATUS________() => _MET08THFTIRSTRATUS.Staging__v2_36_3__MET08THFTIRSTRATUS__MET08THFTIRSTRATUS________(); -} - -// dotnet build --runtime win-x64 -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3 & ClassName~MET08THFTIRSTRATUS" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") -// dotnet test --runtime win-x64 --no-build --filter "FullyQualifiedName~_Tests.Extract.Staging.v2_36_3 & ClassName~MET08THFTIRSTRATUS & Staging__v2_36_3__MET08THFTIRSTRATUS__MET08THFTIRSTRATUS___637745411457972777__First" --% -- TestRunParameters.Parameter(name=\"Debug\", value=\"Debugger.IsAttached\") \ No newline at end of file +} \ No newline at end of file diff --git a/MET08THFTIRSTRATUS.csproj b/MET08THFTIRSTRATUS.csproj index 0aef3cb..6ad1b8e 100644 --- a/MET08THFTIRSTRATUS.csproj +++ b/MET08THFTIRSTRATUS.csproj @@ -10,7 +10,7 @@ Properties MET08THFTIRSTRATUS MET08THFTIRSTRATUS - v4.7.2 + v4.8 512 SAK SAK @@ -152,7 +152,7 @@ 7.2.4630.5 - 2.36.0 + 2.39.0 1.1.1