public GetOldestItem ( ) : |
||
return |
private bool isUpdated(string file, DefinitionCache cache) { var oldest = cache.GetOldestItem(file); // This will be null on language placeholders if (oldest == null) { oldest = cache.GetOldestItem(); if (oldest == null) { return(true); } } var updated = oldest.Updated; var filetime = fileTime(file); if (filetime > updated) { Logger.Write("Oldest is {0} {1} for {2}", updated.ToShortDateString(), updated.ToLongTimeString(), file); Logger.Write("Definition is out of date for {0} with file time {1} {2}", file, filetime.ToShortDateString(), filetime.ToLongTimeString()); return(true); } var dir = Path.GetDirectoryName(file); var name = Path.GetFileNameWithoutExtension(file); var filesDir = Path.Combine(dir, name + "-files"); if (Directory.Exists(filesDir)) { return(isUpdated(updated, filesDir, Path.Combine(filesDir, "state"))); } return(false); }
public void Can_fetch_the_oldest_element_of_a_spesific_location_in_the_cache() { var type = DefinitionCacheItemType.Script; var cache = new DefinitionCache(); cache .Add(type, "loc1", DateTime.Now, false, true, "cmd1", "") .Append(type, "loc1", DateTime.Now, false, true, "cmd2", "") .Append(type, "loc1", new DateTime(2012,10,1,0,0,0), false, true, "cmd3", "") .Append(type, "loc2", new DateTime(2012,1,1,0,0,0), false, false, "-g", ""); Assert.That(cache.GetOldestItem("loc1").Name, Is.EqualTo("cmd3")); }
public void Can_fetch_the_oldest_element_in_the_cache() { var type = DefinitionCacheItemType.Script; var time = new DateTime(2012,1,1,0,0,0); var cache = new DefinitionCache(); cache .Add(type, "", DateTime.Now, false, true, "cmd1", "") .Append(type, "", DateTime.Now, false, true, "cmd2", "") .Append(type, "", DateTime.Now, false, true, "cmd3", "") .Append(type, "", time, false, false, "-g", ""); cache .Add(type, "", DateTime.Now, false, true, "cmd1-1", "") .Append(type, "", DateTime.Now, false, true, "cmdAnother", ""); Assert.That(cache.GetOldestItem().Name, Is.EqualTo("-g")); }
private void mergeBuiltInCommands(bool updateDefinitions, ProfileLocator profiles) { var builtInFile = Path.Combine(profiles.AppRootPath, "oi-definitions.json"); var builtInCache = new DefinitionCache(); if (File.Exists(builtInFile)) { builtInCache = appendDefinitions(builtInFile); var updated = builtInCache.GetOldestItem(); if (updateDefinitions && updated != null && fileTime(System.Reflection.Assembly.GetExecutingAssembly().Location) > updated.Updated) { builtInCache = writeBuiltInCommands(builtInFile, profiles); } } else { if (updateDefinitions) { Logger.Write("Could not find definition file: " + builtInFile); builtInCache = writeBuiltInCommands(builtInFile, profiles); } } _cache.Merge(_enabledLanguages, builtInCache); }
private void mergeBuiltInCommands(ProfileLocator profiles) { var builtInFile = Path.Combine(profiles.AppRootPath, "oi-definitions.json"); var builtInCache = new DefinitionCache(); if (File.Exists(builtInFile)) { builtInCache = appendDefinitions(builtInFile); var updated = builtInCache.GetOldestItem(); if (updated != null && fileTime(System.Reflection.Assembly.GetExecutingAssembly().Location) > updated.Updated) builtInCache = writeBuiltInCommands(builtInFile, profiles); } else { Logger.Write("Could not find definition file: " + builtInFile); builtInCache = writeBuiltInCommands(builtInFile, profiles); } _cache.Merge(builtInCache); }
private bool isUpdated(string file, DefinitionCache cache) { var updated = cache.GetOldestItem(file).Updated; var filetime = fileTime(file); if (filetime > updated) { Logger.Write("Oldest is {0} {1} for {2}", updated.ToShortDateString(), updated.ToLongTimeString(), file); Logger.Write("Definition is out of date for {0} with file time {1} {2}", file, filetime.ToShortDateString(), filetime.ToLongTimeString()); return true; } var dir = Path.GetDirectoryName(file); var name = Path.GetFileNameWithoutExtension(file); var filesDir = Path.Combine(dir, name + "-files"); if (Directory.Exists(filesDir)) { return isUpdated(updated, filesDir, Path.Combine(filesDir, "state")); } return false; }