Example #1
0
        protected override void WriteJsonInternal(JsonWriter jw, string mode)
        {
            mode = mode ?? "";
            base.WriteJsonInternal(jw, mode);
            jw.WriteProperty("onform", OnForm, true);
            jw.WriteProperty("onquery", OnQuery, true);
            jw.WriteProperty("toolview", ToolView, true);
            if (!mode.Contains("noagents"))
            {
                jw.OpenProperty("agents");
                jw.OpenArray();
                foreach (var agentDefinition in Agents)
                {
                    jw.WriteObject(agentDefinition, mode);
                }

                jw.CloseArray();
                jw.CloseProperty();
            }
            if (!mode.Contains("noparams"))
            {
                jw.WriteProperty("parameters", Parameters.Select(_ => _.Value as object).ToArray());
            }
        }
Example #2
0
        public void WriteAsJson(TextWriter output, string mode, ISerializationAnnotator annotator, bool pretty = false, int level = 0)
        {
            var jw = new JsonWriter(output, pretty: pretty, level: level);

            jw.OpenObject();
            if (0 != Meta.Count)
            {
                jw.WriteProperty("meta", Meta);
            }
            if (null == Parent && null != Collectors && 0 != Collectors.Length)
            {
                jw.WriteProperty("collectors", Collectors.OfType <ICollector>().Select(
                                     c => new
                {
                    key       = c.Key,
                    name      = c.Name ?? c.Key,
                    shortname = c.ShortName ?? c.Name ?? c.Key,
                    group     = c.Group,
                    condition = c.Condition
                }.jsonify()).ToArray());
            }
            if (null == Parent && null != Routs && 0 != Routs.Length)
            {
                jw.WriteProperty("routs", Routs.Select(
                                     c =>
                                     new
                {
                    key       = c.Key ?? "nokey",
                    name      = c.Name ?? c.Key,
                    shortname = c.ShortName ?? c.Name ?? c.Key,
                    level     = c.Level,
                    parent    = null == c.Parent ? "" : c.Parent.Key,
                }.jsonify()).ToArray());
            }
            jw.WriteProperty("id", Id);
            jw.WriteProperty("isbucket", IsBucket);
            if (null != RouteKey)
            {
                jw.WriteProperty("key", RouteKey.Key);
                jw.WriteProperty("name", RouteKey.Name);
                jw.WriteProperty("sortkey", RouteKey.SortKey);
                jw.WriteProperty("comment", RouteKey.Comment);
            }
            jw.OpenProperty("values");
            jw.OpenArray();
            foreach (var value in Values)
            {
                jw.WriteObject(new { key = value.Key, value = value.Value });
            }
            jw.CloseArray();
            jw.CloseProperty();


            if (null != _children && 0 != _children.Count)
            {
                jw.OpenProperty("aggs");
                jw.OpenArray();
                foreach (var node in Children)
                {
                    jw.WriteObject(node.Value);
                }
                jw.CloseArray();
                jw.CloseProperty();
            }
            jw.CloseObject();
        }
Example #3
0
        public void WriteAsJson(TextWriter output, string mode, ISerializationAnnotator annotator, bool pretty = false, int level = 0)
        {
            var writer = new JsonWriter(output, pretty: pretty, level: level);

            writer.OpenObject();
            writer.WriteProperty("total", Total, true);
            writer.WriteProperty("offset", OffSet, true);
            writer.WriteProperty("size", Size, true);
            writer.WriteProperty("count", Count, true);

            writer.WriteProperty("page", Page, true);
            writer.WriteProperty("pagecount", PageCount, true);
            writer.WriteProperty("islastpage", IsLastPage, true);

            writer.WriteProperty("nochange", NoChange, true);
            writer.WriteProperty("hash", Hash, true);
            writer.WriteProperty("timestamp", Timestamp, true);
            writer.WriteProperty("status", Status, true);

            writer.WriteProperty("ok", Ok);
            writer.WriteProperty("message", Message, true);
            if (null != Error)
            {
                writer.OpenProperty("error");
                writer.OpenObject();
                writer.WriteProperty("type", Error.GetType().Name);
                writer.WriteProperty("message", Error.Message);
                writer.WriteProperty("stack", Error.StackTrace);
                writer.CloseObject();
                writer.CloseProperty();
            }

            if (null != DebugInfo && 0 != DebugInfo.Count)
            {
                writer.WriteProperty("debug", DebugInfo);
            }
            if (null != Custom && 0 != Custom.Count)
            {
                writer.WriteProperty("custom", Custom);
            }

            var mainitems = GetMainItems();

            if (null != mainitems)
            {
                writer.OpenProperty("items");
                writer.OpenArray();
                foreach (var item in mainitems)
                {
                    writer.WriteObject(item, mode);
                }
                writer.CloseArray();
                writer.CloseProperty();
                var native = GetNative();
                if (null != native)
                {
                    writer.OpenProperty("native");
                    writer.OpenArray();
                    foreach (var item in native)
                    {
                        writer.WriteObject(item, mode);
                    }
                    writer.CloseArray();
                    writer.CloseProperty();
                }
            }
            writer.CloseObject();
        }