Exemple #1
0
            public static void ShowResponse(GetMetadataResponse response)
            {
                var i = 0;
                var f = String.Join(",", response.Metadataheaders);

                Console.WriteLine($"GetMetadataClientHandler[{f}]");
                foreach (var ts in response.Seriesdata)
                {
                    Console.WriteLine($"Sourcename[{i}]: {ts.Key.Sourcename}/{ts.Key.Seriesname}");

                    foreach (var pair in response.Metadataheaders.Zip(ts.Values, Tuple.Create))
                    {
                        Console.WriteLine($"    {pair.Item1}: {pair.Item2}");
                    }
                    i++;
                }
            }
Exemple #2
0
        public static GetMetadataResponse CallGetMetadata(GetMetadataRequest request)
        {
            var response = new GetMetadataResponse();

            try
            {
                var tssFactory = TimeseriesSourceFactory.Factory;

                //TODO [jc]: what do we do with the requestmetadata?
                response.Responsemetadata.Add(request.Requestmetadata);
                response.Metadataheaders.Add(request.Metadataheaders);

                foreach (var ssKey in request.Keys)
                {
                    var tsList = tssFactory[ssKey.Sourcename].GetMetadata(
                        new[] { new TimeseriesKey(ssKey.Seriesname) },
                        request.Metadataheaders);

                    foreach (var ts in tsList)
                    {
                        var m = new MetadataList
                        {
                            Key = new SourceSeriesKey()
                            {
                                Sourcename = ts.SourceKey.Key.ToString(),
                                Seriesname = ts.SeriesKey.Key
                            }
                        };
                        m.Values.AddRange(ts.Metadata.Values);
                        response.Seriesdata.Add(m);
                    }
                }
            }
            catch (Exception ex)
            {
                IOCContainer.Logger.Error(ex.Message);
                throw;
            }
            IOCContainer.Logger.Info($"GetMetadataResponse: {response.Seriesdata.Count} series found");
            return(response);
        }