Ejemplo n.º 1
0
        internal void GetUsedFactDomainNamespaces(List <string> used, FactCollection Facts)
        {
            var factNamespaces = new HashSet <string>();

            foreach (var fact in Facts.Where(f => !string.IsNullOrEmpty(f.Value) || f.Facts.Count > 0))
            {
                if (fact.Value.Contains(':'))
                {
                    var prefix = fact.Value.Split(':')[0];
                    var ns     = Namespaces.LookupNamespace(prefix);
                    if (ns != null)
                    {
                        factNamespaces.Add(ns);
                    }
                }
                else
                {
                    var prefix = fact.Metric.Name.Split(':')[0];
                    var ns     = Namespaces.LookupNamespace(prefix);
                    if (ns != null)
                    {
                        factNamespaces.Add(ns);
                    }

                    GetUsedFactDomainNamespaces(used, fact.Facts);
                }
            }

            used.AddRange(factNamespaces);
        }
Ejemplo n.º 2
0
        internal void GetUsedContexts(FactCollection Facts, HashSet <string> usedIds)
        {
            var facts = Facts.Where(f => f.Context != null || f.Facts.Count > 0);

            foreach (var fact in facts)
            {
                if (fact.Facts.Count == 0)
                {
                    usedIds.Add(fact.Context.Id);
                }
                else
                {
                    GetUsedContexts(fact.Facts, usedIds);
                }
            }
        }