コード例 #1
0
        protected static void PrintNamedList(INamedList list, int level = 0)
        {
            var prefix = Tabs(level);

            if (level > 10)
            {
                Console.WriteLine(prefix + "too much recursion");
                return;
            }

            if (list.IsNullOrEmpty())
            {
                Console.WriteLine(prefix + "List is empty.");
                return;
            }
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(prefix + list.GetKey(i));
                var item = list.Get(i);
                if (item is INamedList)
                {
                    PrintNamedList(item as INamedList, level + 1);
                }
            }
        }
コード例 #2
0
 protected void WriteNamedList(JsonWriter writer, INamedList list)
 {
     writer.WriteStartObject();
     if (list.IsNullOrEmpty())
     {
         writer.WriteEndObject();
         return;
     }
     for (int i = 0; i < list.Count; i++)
     {
         var key = list.GetKey(i);
         writer.WritePropertyName(key);
         var value = list.Get(i);
         if (value is INamedList)
         {
             WriteNamedList(writer, value as INamedList);
         }
         else if (value is IList)
         {
             WriteArray(writer, value as IList);
         }
         else
         {
             writer.WriteValue(value);
         }
     }
     writer.WriteEndObject();
 }
コード例 #3
0
ファイル: ResponseHeader.cs プロジェクト: hiiru/Mizore
 public ResponseHeader(INamedList responseHeader)
 {
     if (responseHeader.IsNullOrEmpty()) return;
     Status = responseHeader.GetOrDefaultStruct<int>("status");
     QTime = responseHeader.GetOrDefaultStruct<int>("QTime");
     Parameters = responseHeader.GetOrDefault<INamedList>("params");
 }
コード例 #4
0
ファイル: FacetData.cs プロジェクト: hiiru/Mizore
        public FacetData(INamedList responseHeader)
        {
            if (responseHeader.IsNullOrEmpty()) return;
            Queries = responseHeader.GetOrDefault<INamedList>("facet_queries");

            var fieldsList = responseHeader.GetOrDefault<INamedList>("facet_fields");
            if (fieldsList != null)
            {
                Fields=new NamedList();
                for (int i = 0; i < fieldsList.Count; i++)
                {
                    var innerList = fieldsList.GetOrDefault<IList>(i);
                    if (innerList == null) continue;
                    var list = new NamedList();
                    for (int j = 0; j < innerList.Count; j = j + 2)
                    {
                        var valKey = innerList[j] as string;
                        if (valKey != null)
                            list.Add(valKey, innerList[j + 1]);
                    }

                    Fields.Add(fieldsList.GetKey(i), list);
                }
            }

            //Fields = responseHeader.GetOrDefault<INamedList>("facet_fields");
            Dates = responseHeader.GetOrDefault<INamedList>("facet_dates");
            Ranges = responseHeader.GetOrDefault<INamedList>("facet_ranges");
        }
コード例 #5
0
ファイル: SystemLuceneData.cs プロジェクト: hiiru/Mizore
 public SystemLuceneData(INamedList responseHeader)
 {
     if (responseHeader.IsNullOrEmpty()) return;
     SolrSpecVersion = responseHeader.GetOrDefault<string>("solr-spec-version");
     SolrImplVersion = responseHeader.GetOrDefault<string>("solr-impl-version");
     LuceneSpecVersion = responseHeader.GetOrDefault<string>("lucene-spec-version");
     LuceneImplVersion = responseHeader.GetOrDefault<string>("lucene-impl-version");
 }
コード例 #6
0
ファイル: LoggingInfo.cs プロジェクト: hiiru/Mizore
 public LoggingInfo(INamedList nl)
 {
     if (nl.IsNullOrEmpty()) return;
     var list = nl.GetOrDefault<IList>("levels");
     Levels = list.Cast<string>().ToList();
     Last = nl.GetOrDefaultStruct<long>("last");
     Buffer = nl.GetOrDefaultStruct<int>("buffer");
     Threshold = nl.GetOrDefault<string>("threshold");
 }
コード例 #7
0
ファイル: SystemCoreData.cs プロジェクト: hiiru/Mizore
 public SystemCoreData(INamedList nl)
 {
     if (nl.IsNullOrEmpty()) return;
     Schema = nl.GetOrDefault<string>("schema");
     Host = nl.GetOrDefault<string>("host");
     Now = nl.GetOrDefaultStruct<DateTime>("now");
     Start = nl.GetOrDefaultStruct<DateTime>("start");
     Directory = nl.GetOrDefault<INamedList>("directory");
 }
コード例 #8
0
 public ResponseHeader(INamedList responseHeader)
 {
     if (responseHeader.IsNullOrEmpty())
     {
         return;
     }
     Status     = responseHeader.GetOrDefaultStruct <int>("status");
     QTime      = responseHeader.GetOrDefaultStruct <int>("QTime");
     Parameters = responseHeader.GetOrDefault <INamedList>("params");
 }
コード例 #9
0
 public SystemLuceneData(INamedList responseHeader)
 {
     if (responseHeader.IsNullOrEmpty())
     {
         return;
     }
     SolrSpecVersion   = responseHeader.GetOrDefault <string>("solr-spec-version");
     SolrImplVersion   = responseHeader.GetOrDefault <string>("solr-impl-version");
     LuceneSpecVersion = responseHeader.GetOrDefault <string>("lucene-spec-version");
     LuceneImplVersion = responseHeader.GetOrDefault <string>("lucene-impl-version");
 }
コード例 #10
0
 public SystemCoreData(INamedList nl)
 {
     if (nl.IsNullOrEmpty())
     {
         return;
     }
     Schema    = nl.GetOrDefault <string>("schema");
     Host      = nl.GetOrDefault <string>("host");
     Now       = nl.GetOrDefaultStruct <DateTime>("now");
     Start     = nl.GetOrDefaultStruct <DateTime>("start");
     Directory = nl.GetOrDefault <INamedList>("directory");
 }
コード例 #11
0
ファイル: SystemJvmData.cs プロジェクト: hiiru/Mizore
 public SystemJvmData(INamedList responseHeader)
 {
     //NOTE: change INamedList to dataobject, if ever used
     if (responseHeader.IsNullOrEmpty()) return;
     Version = responseHeader.GetOrDefault<string>("version");
     Name = responseHeader.GetOrDefault<string>("name");
     Spec = responseHeader.GetOrDefault<INamedList>("spec");
     Jre = responseHeader.GetOrDefault<INamedList>("jre");
     Vm = responseHeader.GetOrDefault<INamedList>("vm");
     Processors = responseHeader.GetOrDefaultStruct<int>("processors");
     Memory = responseHeader.GetOrDefault<INamedList>("memory");
     Jmx = responseHeader.GetOrDefault<INamedList>("jmx");
 }
コード例 #12
0
ファイル: CoreStatusData.cs プロジェクト: hiiru/Mizore
 public CoresCoreData(INamedList responseHeader)
 {
     if (responseHeader.IsNullOrEmpty()) return;
     Name = responseHeader.GetOrDefault<string>("name");
     IsDefaultCore = responseHeader.GetOrDefaultStruct<bool>("isDefaultCore");
     InstanceDir = responseHeader.GetOrDefault<string>("instanceDir");
     DataDir = responseHeader.GetOrDefault<string>("dataDir");
     Config = responseHeader.GetOrDefault<string>("config");
     Schema = responseHeader.GetOrDefault<string>("schema");
     StartTime = responseHeader.GetOrDefaultStruct<DateTime>("startTime");
     Uptime = responseHeader.GetOrDefaultStruct<int>("uptime");
     Index = responseHeader.GetOrDefault<INamedList>("index");
 }
コード例 #13
0
        public LoggingInfo(INamedList nl)
        {
            if (nl.IsNullOrEmpty())
            {
                return;
            }
            var list = nl.GetOrDefault <IList>("levels");

            Levels    = list.Cast <string>().ToList();
            Last      = nl.GetOrDefaultStruct <long>("last");
            Buffer    = nl.GetOrDefaultStruct <int>("buffer");
            Threshold = nl.GetOrDefault <string>("threshold");
        }
コード例 #14
0
ファイル: MizoreExtensions.cs プロジェクト: hiiru/Mizore
        public static T GetOrDefault <T>(this INamedList namedList, int index) where T : class
        {
            if (namedList.IsNullOrEmpty())
            {
                return(null);
            }
            var item = namedList.Get(index);

            if (item == null)
            {
                return(null);
            }
            return(item as T);
        }
コード例 #15
0
ファイル: MizoreExtensions.cs プロジェクト: hiiru/Mizore
        public static T GetOrDefault <T>(this INamedList namedList, string key) where T : class
        {
            if (namedList.IsNullOrEmpty() || string.IsNullOrWhiteSpace(key))
            {
                return(null);
            }
            var item = namedList.Get(key);

            if (item == null)
            {
                return(null);
            }
            return(item as T);
        }
コード例 #16
0
ファイル: SystemSystemData.cs プロジェクト: hiiru/Mizore
 public SystemSystemData(INamedList responseHeader)
 {
     if (responseHeader.IsNullOrEmpty()) return;
     Name = responseHeader.GetOrDefault<string>("name");
     Version = responseHeader.GetOrDefault<string>("version");
     Arch = responseHeader.GetOrDefault<string>("arch");
     SystemLoadAverage = responseHeader.GetOrDefaultStruct<double>("systemLoadAverage");
     CommitedVirtualMemorySize = responseHeader.GetOrDefaultStruct<long>("committedVirtualMemorySize");
     FreePhysicalMemorySize = responseHeader.GetOrDefaultStruct<long>("freePhysicalMemorySize");
     FreeSwapSpaceSize = responseHeader.GetOrDefaultStruct<long>("freeSwapSpaceSize");
     ProcessCpuTime = responseHeader.GetOrDefaultStruct<long>("processCpuTime");
     TotalPhysicalMemorySize = responseHeader.GetOrDefaultStruct<long>("totalPhysicalMemorySize");
     TotalSwapSpaceSize = responseHeader.GetOrDefaultStruct<long>("totalSwapSpaceSize");
 }
コード例 #17
0
 public SystemJvmData(INamedList responseHeader)
 {
     //NOTE: change INamedList to dataobject, if ever used
     if (responseHeader.IsNullOrEmpty())
     {
         return;
     }
     Version    = responseHeader.GetOrDefault <string>("version");
     Name       = responseHeader.GetOrDefault <string>("name");
     Spec       = responseHeader.GetOrDefault <INamedList>("spec");
     Jre        = responseHeader.GetOrDefault <INamedList>("jre");
     Vm         = responseHeader.GetOrDefault <INamedList>("vm");
     Processors = responseHeader.GetOrDefaultStruct <int>("processors");
     Memory     = responseHeader.GetOrDefault <INamedList>("memory");
     Jmx        = responseHeader.GetOrDefault <INamedList>("jmx");
 }
コード例 #18
0
 public CoresCoreData(INamedList responseHeader)
 {
     if (responseHeader.IsNullOrEmpty())
     {
         return;
     }
     Name          = responseHeader.GetOrDefault <string>("name");
     IsDefaultCore = responseHeader.GetOrDefaultStruct <bool>("isDefaultCore");
     InstanceDir   = responseHeader.GetOrDefault <string>("instanceDir");
     DataDir       = responseHeader.GetOrDefault <string>("dataDir");
     Config        = responseHeader.GetOrDefault <string>("config");
     Schema        = responseHeader.GetOrDefault <string>("schema");
     StartTime     = responseHeader.GetOrDefaultStruct <DateTime>("startTime");
     Uptime        = responseHeader.GetOrDefaultStruct <int>("uptime");
     Index         = responseHeader.GetOrDefault <INamedList>("index");
 }
コード例 #19
0
ファイル: SystemSystemData.cs プロジェクト: hiiru/Mizore
 public SystemSystemData(INamedList responseHeader)
 {
     if (responseHeader.IsNullOrEmpty())
     {
         return;
     }
     Name                      = responseHeader.GetOrDefault <string>("name");
     Version                   = responseHeader.GetOrDefault <string>("version");
     Arch                      = responseHeader.GetOrDefault <string>("arch");
     SystemLoadAverage         = responseHeader.GetOrDefaultStruct <double>("systemLoadAverage");
     CommitedVirtualMemorySize = responseHeader.GetOrDefaultStruct <long>("committedVirtualMemorySize");
     FreePhysicalMemorySize    = responseHeader.GetOrDefaultStruct <long>("freePhysicalMemorySize");
     FreeSwapSpaceSize         = responseHeader.GetOrDefaultStruct <long>("freeSwapSpaceSize");
     ProcessCpuTime            = responseHeader.GetOrDefaultStruct <long>("processCpuTime");
     TotalPhysicalMemorySize   = responseHeader.GetOrDefaultStruct <long>("totalPhysicalMemorySize");
     TotalSwapSpaceSize        = responseHeader.GetOrDefaultStruct <long>("totalSwapSpaceSize");
 }
コード例 #20
0
ファイル: MizoreExtensions.cs プロジェクト: hiiru/Mizore
        public static T GetOrDefaultStruct <T>(this INamedList namedList, int index) where T : struct
        {
            if (namedList.IsNullOrEmpty())
            {
                return(default(T));
            }
            var item = namedList.Get(index);

            if (item == null)
            {
                return(default(T));
            }
            try
            {
                return((T)item);
            }
            catch
            {
                return(default(T));
            }
        }
コード例 #21
0
ファイル: MizoreExtensions.cs プロジェクト: hiiru/Mizore
        public static T GetOrDefaultStruct <T>(this INamedList namedList, string key) where T : struct
        {
            if (namedList.IsNullOrEmpty() || string.IsNullOrWhiteSpace(key))
            {
                return(default(T));
            }
            var item = namedList.Get(key);

            if (item == null)
            {
                return(default(T));
            }
            try
            {
                return((T)Convert.ChangeType(item, typeof(T)));
                //return (T) item;
            }
            catch
            {
                return(default(T));
            }
        }
コード例 #22
0
ファイル: FacetData.cs プロジェクト: hiiru/Mizore
        public FacetData(INamedList responseHeader)
        {
            if (responseHeader.IsNullOrEmpty())
            {
                return;
            }
            Queries = responseHeader.GetOrDefault <INamedList>("facet_queries");

            var fieldsList = responseHeader.GetOrDefault <INamedList>("facet_fields");

            if (fieldsList != null)
            {
                Fields = new NamedList();
                for (int i = 0; i < fieldsList.Count; i++)
                {
                    var innerList = fieldsList.GetOrDefault <IList>(i);
                    if (innerList == null)
                    {
                        continue;
                    }
                    var list = new NamedList();
                    for (int j = 0; j < innerList.Count; j = j + 2)
                    {
                        var valKey = innerList[j] as string;
                        if (valKey != null)
                        {
                            list.Add(valKey, innerList[j + 1]);
                        }
                    }

                    Fields.Add(fieldsList.GetKey(i), list);
                }
            }

            //Fields = responseHeader.GetOrDefault<INamedList>("facet_fields");
            Dates  = responseHeader.GetOrDefault <INamedList>("facet_dates");
            Ranges = responseHeader.GetOrDefault <INamedList>("facet_ranges");
        }
コード例 #23
0
ファイル: JsonDev.cs プロジェクト: hiiru/Mizore
        protected static void PrintNamedList(INamedList list, int level = 0)
        {
            var prefix = Tabs(level);
            if (level > 10)
            {
                Console.WriteLine(prefix + "too much recursion");
                return;
            }

            if (list.IsNullOrEmpty())
            {
                Console.WriteLine(prefix + "List is empty.");
                return;
            }
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(prefix + list.GetKey(i));
                var item = list.Get(i);
                if (item is INamedList)
                {
                    PrintNamedList(item as INamedList, level + 1);
                }
            }
        }
コード例 #24
0
ファイル: SolrJsonConverter.cs プロジェクト: hiiru/Mizore
 protected void WriteNamedList(JsonWriter writer, INamedList list)
 {
     writer.WriteStartObject();
     if (list.IsNullOrEmpty())
     {
         writer.WriteEndObject();
         return;
     }
     for (int i = 0; i < list.Count; i++)
     {
         var key = list.GetKey(i);
         writer.WritePropertyName(key);
         var value = list.Get(i);
         if (value is INamedList)
             WriteNamedList(writer, value as INamedList);
         else if (value is IList)
             WriteArray(writer, value as IList);
         else
             writer.WriteValue(value);
     }
     writer.WriteEndObject();
 }