コード例 #1
0
        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");
            }
        }
コード例 #2
0
        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);
        }