示例#1
0
        private Metadata GetMetadata(string product="est")
        {
            try
            {
                using (var client = new OpsConsoleServiceClient(RouterBindings.Local, RouterAddresses.Local.RequestReply))
                {
                    var request = new GetMetadataRequest()
                    {
                        product = product
                    };
                    var metadataJson = client.GetMetadata(request);

                    return JsonConvert.DeserializeObject<Metadata>(metadataJson);
                }
            }
            catch (Exception ex)
            {
                Logger.LogWarn("GetMetadata: [{0}], cannot get metadata from OpsConsole service, {1}", UUID, ex.Message);
                try
                {
                    using (var sStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("ThomsonReuters.Eikon.SystemTest.Schema.json"))
                    {
                        using (var reader = new StreamReader(sStream))
                        {
                            sStream.Seek(0, SeekOrigin.Begin);
                            var metadataJson = reader.ReadToEnd();
                            return JsonConvert.DeserializeObject<Metadata>(metadataJson);
                        }
                    }
                }
                catch (Exception ex2)
                {
                    Logger.LogError("GetMetadata: [{0}], cannot get metadata from resource file, {1}", UUID, ex2.Message);
                    return null;
                }
            }
        }
示例#2
0
        private static Metadata GetMetadata(string product = "est")
        {
            if (_estMetaData != null) return _estMetaData;
            try
            {
                _estMetaData = new Metadata { enumdict = new List<EnumDict>(), statcodedict = new List<StatCodeDict>() };
                using (var client = new OpsConsoleServiceClient(RouterBindings.Local, RouterAddresses.Local.RequestReply))
                {
                    var request = new GetMetadataRequest()
                    {
                        product = product
                    };
                    var metadataJson = client.GetMetadata(request);
                    _estMetaData = JsonConvert.DeserializeObject<Metadata>(metadataJson);
                }                
            }
            catch (Exception ex)
            {
                Logger.LogWarn("GetMetadata:, cannot get/convert metadata from OpsConsole service, {0}", ex.Message);

                try
                {
                    using (var sStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SystemTestService.Schema.json"))
                    {
                        using (var reader = new StreamReader(sStream))
                        {
                            sStream.Seek(0, SeekOrigin.Begin);
                            var metadataJson = reader.ReadToEnd();
                            _estMetaData = JsonConvert.DeserializeObject<Metadata>(metadataJson);
                        }
                    }
                }
                catch (Exception ex2)
                {
                    Logger.LogError("GetMetadata: cannot get metadata from resource file, {0}", ex2.Message);
                    return _estMetaData;
                }
            }
            return _estMetaData;
        }
示例#3
0
        private static Metadata GetMetadata()
        {
            try
            {
                ALogger.LogInfo("GetMetadata: getting metadata");

                var metadataObj = Cache.Get(MetaDataCacheKey) as Metadata;

                if(metadataObj != null && metadataObj.enumdict != null && metadataObj.enumdict.Count < 1)
                {
                    ALogger.LogInfo("GetMetadata: get from cache");
                    return metadataObj;
                }

                using (var client = new OpsConsoleServiceClient(RouterBindings.Local, RouterAddresses.Local.RequestReply))
                {
                    var request = new GetMetadataRequest()
                    {
                        product = "est"
                    };
                    var metadataJson = client.GetMetadata(request);

                    metadataObj =  JsonConvert.DeserializeObject<Metadata>(metadataJson);

                    if (metadataObj.enumdict != null && metadataObj.enumdict.Count < 1)
                    {
                        metadataObj = GetLocalMetadata();
                    }

                    Cache.Set(MetaDataCacheKey, metadataObj, DateTimeOffset.UtcNow.AddSeconds(MetaDataCacheTimeoutSecs));
                    return metadataObj;
                }
            }
            catch (Exception ex)
            {
                ALogger.LogError("GetMetadata: Error getting/parsing metadata: {0}", ex.Message);
                return GetLocalMetadata();
            }
        }
 public string GetMetadata(string query, string body, IAppServerServices services)
 {
     var logger = services.Logger;
     try
     {
         using (var client = new OpsConsoleServiceClient(RouterBindings.Local, RouterAddresses.Local.RequestReply))
         {
             var metadataReq = JsonConvert.DeserializeObject<GetMetadataRequest>(body) ?? new GetMetadataRequest();
             metadataReq.product = "est";
             metadataReq.disable = Permission.GetDisableTests(services.UserContext);
             var metadata = client.GetMetadata(metadataReq);
             return string.IsNullOrEmpty(metadata) ? "{}" : metadata;
         }
     }
     catch (Exception ex)
     {
         logger.LogError("Error while getting metadata: {0}", ex.Message);
         return "{}";
     }
 }