protected virtual void EnsureInitialized() { if (_isInitialized) { return; } _config = SetupSearchCacheConfig(); if (FileMetadataTemplateSearchCacheReader.TryReadDiscoveryMetadata(_environment, _config, out _templateDiscoveryMetadata)) { _templateToPackMap = TemplateToPackMap.FromPackToTemplateDictionary(_templateDiscoveryMetadata.PackToTemplateMap); _isInitialized = true; } else { throw new Exception("Error reading template search metadata"); } }
public static bool TryReadDiscoveryMetadata(IEngineEnvironmentSettings environment, ISearchCacheConfig config, out TemplateDiscoveryMetadata discoveryMetadata) { Paths paths = new Paths(environment); string pathToConfig = Path.Combine(paths.User.BaseDir, config.TemplateDiscoveryFileName); string cacheText = paths.ReadAllText(pathToConfig); JObject cacheObject = JObject.Parse(cacheText); // add the reader calls, build the model objects if (TryReadVersion(cacheObject, out string version) && TryReadTemplateList(cacheObject, version, out IReadOnlyList <ITemplateInfo> templateList) && TryReadPackToTemplateMap(cacheObject, out IReadOnlyDictionary <string, PackToTemplateEntry> packToTemplateMap) && TryReadAdditionalData(cacheObject, config.AdditionalDataReaders, out IReadOnlyDictionary <string, object> additionalDta)) { discoveryMetadata = new TemplateDiscoveryMetadata(version, templateList, packToTemplateMap, additionalDta); return(true); } discoveryMetadata = null; return(false); }
public static bool TryReadDiscoveryMetadata(IEngineEnvironmentSettings environmentSettings, string cacheText, ISearchCacheConfig config, out TemplateDiscoveryMetadata discoveryMetadata) { JObject cacheObject = JObject.Parse(cacheText); // add the reader calls, build the model objects if (TryReadVersion(cacheObject, out string version) && TryReadTemplateList(environmentSettings, cacheObject, version, out IReadOnlyList <ITemplateInfo> templateList) && TryReadPackToTemplateMap(cacheObject, out IReadOnlyDictionary <string, PackToTemplateEntry> packToTemplateMap) && TryReadAdditionalData(cacheObject, config.AdditionalDataReaders, out IReadOnlyDictionary <string, object> additionalDta)) { discoveryMetadata = new TemplateDiscoveryMetadata(version, templateList, packToTemplateMap, additionalDta); return(true); } discoveryMetadata = null; return(false); }
public static bool TryReadDiscoveryMetadata(IEngineEnvironmentSettings environmentSettings, ISearchCacheConfig config, out TemplateDiscoveryMetadata discoveryMetadata) { string pathToConfig = Path.Combine(environmentSettings.Paths.HostVersionSettingsDir, config.TemplateDiscoveryFileName); string cacheText = environmentSettings.Host.FileSystem.ReadAllText(pathToConfig); if (TryReadDiscoveryMetadata(environmentSettings, cacheText, config, out discoveryMetadata)) { return(true); } discoveryMetadata = null; return(false); }