void RenameIndex(ChangedSource changes) { var isDirectory = IsDirectory(changes.FilePath); if (IsExcludedFromIndex(changes.FilePath, isDirectory)) { if (!IsExcludedFromIndex(changes.OldPath, isDirectory)) { IndexBuilder.DeleteIndex(changes.OldPath); } } else { if (isDirectory) { IndexBuilder.RenameFolderIndexes(changes.OldPath, changes.FilePath, TokenSource.Token); } else if (IsFile(changes.FilePath)) { if (IndexBuilder.RenameFileIndex(changes.OldPath, changes.FilePath) == IndexBuildResults.FailedWithIOException) { EnqueueToFailedSource(changes); } } } }
public void SetUp() { _file = new[] { "Console.WriteLine()" }; _fileWriter = new Mock <ISourceFileWriter>(); var subject = new ChangedSource(_file, null, _fileWriter.Object); subject.WriteAllLines(); }
void UpdateIndex(ChangedSource changes) { if (IsFile(changes.FilePath)) { if (IndexBuilder.UpdateIndex(new FileInfo(changes.FilePath), TokenSource.Token) == IndexBuildResults.FailedWithIOException) { EnqueueToFailedSource(changes); } } }
void OnRename(object sender, RenamedEventArgs e) { var changeSource = new ChangedSource { ChangesType = e.ChangeType, FilePath = e.FullPath, OldPath = e.OldFullPath }; ChangedSources.Enqueue(changeSource); }
void EnqueueChangeSource(WatcherChangeTypes changeType, string fullPath) { var changeSource = new ChangedSource { ChangesType = changeType, FilePath = fullPath }; if (!IsExcludedFromIndex(changeSource.FilePath, changeType)) { ChangedSources.Enqueue(changeSource); } }
void EnqueueToFailedSource(ChangedSource changes) { if (changes is not PendingRetrySource) { Log.LogError($"Enqueue failed processing changed source {changes}"); PendingRetryCodeSources.Enqueue(new PendingRetrySource { ChangesType = changes.ChangesType, FilePath = changes.FilePath, OldPath = changes.FilePath, ChangedUTCDate = changes.ChangedUTCDate, LastRetryUTCDate = DateTime.UtcNow }); } }
public void SetUp() { _file = new [] { "Console.WriteLine()" }; _existingLicense = new Mock <ILicense>(); _existingLicense.Setup(x => x.RemoveFrom(_file)).Returns(_file); _newLicense = new Mock <ILicense>(); _newLicense.Setup(x => x.AddTo(_file)).Returns(_file); var subject = new ChangedSource(_file, _existingLicense.Object, null); _result = subject.Add(_newLicense.Object); }
public void TestConstructor() { var source = new ChangedSource { ChangedUTCDate = new DateTime(2021, 1, 1), ChangesType = System.IO.WatcherChangeTypes.Renamed, FilePath = "A", OldPath = "B" }; Assert.AreEqual(new DateTime(2021, 1, 1), source.ChangedUTCDate); Assert.AreEqual(System.IO.WatcherChangeTypes.Renamed, source.ChangesType); Assert.AreEqual("A", source.FilePath); Assert.AreEqual("B", source.OldPath); }
void CreateIndex(ChangedSource changes, IList <ChangedSource> orderedNeedProcessingChanges) { if (IsFile(changes.FilePath)) { if (IndexBuilder.CreateIndex(new FileInfo(changes.FilePath)) == IndexBuildResults.FailedWithIOException) { EnqueueToFailedSource(changes); } } else if (IsDirectory(changes.FilePath)) { foreach (var file in Directory.GetFiles(changes.FilePath, "*", SearchOption.AllDirectories).Where(file => orderedNeedProcessingChanges.All(changedSource => !changedSource.FilePath.Equals(file, StringComparison.InvariantCultureIgnoreCase)) && ChangedSources.All(changedSource => !changedSource.FilePath.Equals(file, StringComparison.InvariantCultureIgnoreCase)))) { Log.LogInformation($"{IndexConfig.IndexName}: Enqueue File {file} Created to changes source"); EnqueueChangeSource(WatcherChangeTypes.Created, file); } } }
void DeleteIndex(ChangedSource changes) { IndexBuilder.DeleteIndex(changes.FilePath); }
public ValueTask <Boolean> DoAsync(String value) { return(ChangedSource.InvokeAsync(value)); }
public Boolean Do(String value) { return(ChangedSource.Invoke(value)); }
public DataChangedEventArgs(IEnumerable<string> primaryKeys, ChangedSource source) { PrimaryKeys = new List<string>(primaryKeys); Source = source; }