#pragma warning disable 1570 /// <summary> /// Parses query string (e.g. "id=457&name=zelemhan") into dictionary (e.g. {{"id", "457"}, {"name", "zelemhan"}}) /// </summary> #pragma warning restore 1570 public static JSONDataMap ParseQueryString(string query) { if (query.IsNullOrWhiteSpace()) { return(new JSONDataMap()); } var dict = new JSONDataMap(); int queryLen = query.Length; int startIdx = 0; while (startIdx < queryLen) { int ampIdx = query.IndexOf('&', startIdx); int kvLen = (ampIdx != -1) ? ampIdx - startIdx : queryLen - startIdx; if (kvLen < 1) { startIdx = ampIdx + 1; continue; } int eqIdx = query.IndexOf('=', startIdx, kvLen); if (eqIdx == -1) { var key = Uri.UnescapeDataString(query.Substring(startIdx, kvLen)); dict.Add(key, null); } else { int keyLen = eqIdx - startIdx; if (keyLen > 0) { string key = Uri.UnescapeDataString(query.Substring(startIdx, keyLen)); string val = null; int valLen = kvLen - (eqIdx - startIdx) - 1; if (valLen > 0) { val = Uri.UnescapeDataString(query.Substring(eqIdx + 1, kvLen - (eqIdx - startIdx) - 1)); } dict.Add(key, val); } } startIdx += kvLen + 1; } return(dict); }
private JSONDataMap getByNamespace(IInstrumentation instr) { var data = new JSONDataMap(); IEnumerable <Type> typeKeys = instr.DataTypes.OrderBy(t => t.FullName); foreach (var tkey in typeKeys) { Datum datum = null; var sourceKeys = instr.GetDatumTypeSources(tkey, out datum).OrderBy(s => s); if (datum == null) { continue; } var tData = new JSONDataMap(); tData["data"] = sourceKeys; tData["descr"] = datum.Description; tData["unit"] = datum.ValueUnitName; tData["error"] = datum is IErrorInstrument; tData["gauge"] = datum is Gauge; data.Add(tkey.FullName, tData); } return(data); }
#pragma warning disable 1570 /// <summary> /// Parses query string (e.g. "id=457&name=zelemhan") into dictionary (e.g. {{"id", "457"}, {"name", "zelemhan"}}) /// </summary> #pragma warning restore 1570 public static JSONDataMap ParseQueryString(string query) { if (query.IsNullOrWhiteSpace()) return new JSONDataMap(); var dict = new JSONDataMap(); int queryLen = query.Length; int startIdx = 0; while (startIdx < queryLen) { int ampIdx = query.IndexOf('&', startIdx); int kvLen = (ampIdx != -1) ? ampIdx - startIdx : queryLen - startIdx; if (kvLen < 1) { startIdx = ampIdx + 1; continue; } int eqIdx = query.IndexOf('=', startIdx, kvLen); if (eqIdx == -1) { var key = Uri.UnescapeDataString(query.Substring(startIdx, kvLen)); dict.Add(key, null); } else { int keyLen = eqIdx - startIdx; if (keyLen > 0) { string key = Uri.UnescapeDataString(query.Substring(startIdx, keyLen)); string val = null; int valLen = kvLen - (eqIdx - startIdx) - 1; if (valLen > 0) val = Uri.UnescapeDataString(query.Substring(eqIdx + 1, kvLen - (eqIdx - startIdx) - 1)); dict.Add(key, val); } } startIdx += kvLen + 1; } return dict; }
public virtual void Serialize(Stream stream) { if (!m_Built) { throw new MLException("Node is not built"); } var body = new JSONDataMap(); body.Add("type", this.GetType().AssemblyQualifiedName); body.Add("name", Name); body.Add("index", Index); body.Add("is-input", IsInput); body.Add("is-output", IsOutput); body.Add("is-trainable", IsTrainable); body.Add("param-count", ParamCount); var inputs = m_Inputs ?? new _ComputingNode <TVal> [0]; var outputs = m_Outputs ?? new _ComputingNode <TVal> [0]; body.Add("inputs", new JSONDataArray(inputs)); body.Add("outputs", new JSONDataArray(outputs)); DoSerialize(body); // TODO: store parameters separately in HD5 or CDF? var paramBytes = new byte[ParamCount * sizeof(double)]; Buffer.BlockCopy(Parameters, 0, paramBytes, 0, paramBytes.Length); var parameters = Convert.ToBase64String(paramBytes); body.Add("parameters", parameters); // TODO: store parameters separately in HD5 or CDF? var root = new JSONDataMap { { "node", body } }; JSONWriter.Write(root, stream); }
private JSONDataMap getByInterface(IInstrumentation instr) { var data = new JSONDataMap(); var sortedTypes = instr.DataTypes.OrderBy(t => t.FullName); IEnumerable <Type> intfKeys = instr.DataTypes.SelectMany(t => Datum.GetViewGroupInterfaces(t)).Distinct().OrderBy(ti => ti.FullName); foreach (var ikey in intfKeys) { var iData = new JSONDataMap(); IEnumerable <Type> typeKeys = sortedTypes.Where(t => Datum.GetViewGroupInterfaces(t).Any(i => i == ikey)); foreach (var tkey in typeKeys) { Datum datum = null; var sourceKeys = instr.GetDatumTypeSources(tkey, out datum); if (datum == null) { continue; } var tData = new JSONDataMap(); tData["descr"] = datum.Description; tData["unit"] = datum.ValueUnitName; tData["error"] = datum is IErrorInstrument; tData["gauge"] = datum is Gauge; tData["data"] = sourceKeys; iData.Add(tkey.FullName, tData); } data.Add(ikey.Name, iData); } return(data); }
public void Templatization_Recursive() { var map1 = new JSONDataMap { { "a", 1 } }; var map2 = new JSONDataMap { { "b", 2 }, { "c", map1 } }; map1.Add("d", map2); var qry = new BSONDocument("{ rec: '$$value' }", true, new TemplateArg("value", map1)); }
public void Add(string key, object value) { m_Content.Add(key, value); }