public WriteRaw ( string json ) : void | ||
json | string | The raw JSON to write. |
return | void |
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { ElasticQuery term = (ElasticQuery)value; if (term != null) { writer.WriteStartObject(); writer.WriteRaw("\"from\": " + term.From); writer.WriteRaw(",\"size\": " + term.Size + ","); writer.WritePropertyName("query"); serializer.Serialize(writer, term.Query); if (term.Fields != null && term.Fields.Count > 0) { writer.WritePropertyName("fields"); writer.WriteStartArray(); foreach (var field in term.Fields) { writer.WriteRawValue("\"" + field + "\""); } writer.WriteEndArray(); } if (term.SortItems != null && term.SortItems.Count > 0) { writer.WritePropertyName("sort"); writer.WriteStartObject(); foreach (var sortItem in term.SortItems) { if (sortItem != null) { writer.WritePropertyName(sortItem.FieldName); writer.WriteValue(sortItem.SortType.ToString().ToLower()); } } writer.WriteEndObject(); } //facets if (term.Facets != null) { writer.WritePropertyName("facets"); serializer.Serialize(writer, term.Facets); } //hightlight if(term.Hightlight!=null) { writer.WritePropertyName("highlight"); serializer.Serialize(writer,term.Hightlight); } if (term.Explain) { writer.WriteRaw(",\"explain\": " + term.Explain.ToString().ToLower()); } writer.WriteEndObject(); } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var filterList = value as FilterList; if (filterList == null) throw new InvalidOperationException("FilterListConverter attribute is not applied to FilterList class"); if(filterList.Data.Count == 1) { writer.WriteRaw(JsonConvert.SerializeObject(filterList.Data[0])); } else { writer.WriteRaw(JsonConvert.SerializeObject(new FilterGroup(filterList.Data))); } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var filter = value as Filter; if(filter == null) throw new InvalidOperationException("FilterConverter attribute is not applied to Filter class"); if(filter.Value is bool) //lowercase boolean values { writer.WriteRaw(filter.Value.ToString().ToLower()); } else { writer.WriteRaw(filter.Value.ToString()); } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var request = value as IMultiPercolateRequest; if (request == null) return; if (request.Percolations == null) return; var settings = serializer.GetConnectionSettings(); var elasticsearchSerializer = settings.Serializer; if (elasticsearchSerializer == null) return; foreach (var percolation in request.Percolations) { var requestParameters = percolation.GetRequestParameters() ?? new PercolateRequestParameters(); var header = new PercolateHeader { percolate_index = requestParameters.GetQueryStringValue<string>("percolate_index"), percolate_type = requestParameters.GetQueryStringValue<string>("percolate_type"), routing = requestParameters.GetQueryStringValue<string[]>("routing"), preference = requestParameters.GetQueryStringValue<string>("preference"), percolate_routing = requestParameters.GetQueryStringValue<string>("percolate_routing"), percolate_preference = requestParameters.GetQueryStringValue<string>("percolate_preference"), version = requestParameters.GetQueryStringValue<long?>("version") }; var routeValues = (percolation as IRequest)?.RouteValues; if (routeValues != null) { header.id = routeValues.Get<Id>("id"); header.index = routeValues.Get<IndexName>("index"); header.type = routeValues.Get<TypeName>("type"); if (request.Index != null && request.Index.EqualsMarker(header.index)) header.index = null; if (request.Type != null && request.Type.EqualsMarker(header.type)) header.type = null; } var headerBytes = elasticsearchSerializer.SerializeToBytes(header, SerializationFormatting.None); writer.WriteRaw($"{{\"{percolation.MultiPercolateName}\":" + headerBytes.Utf8String() + "}\n"); if (percolation == null) { writer.WriteRaw("{}\n"); } else { var bodyBytes = elasticsearchSerializer.SerializeToBytes(percolation, SerializationFormatting.None); writer.WriteRaw(bodyBytes.Utf8String() + "\n"); } } }
/// <exception cref="ArgumentNullException">when <paramref name="writer"/> is null</exception> /// <exception cref="ArgumentNullException">when <paramref name="value"/> is null</exception> public new void Serialize(JsonWriter writer, object value) { if (writer == null) throw new ArgumentNullException("writer"); if (value == null) throw new ArgumentNullException("value"); if( ReflectionUtilities.Implements(value.GetType(), typeof(ISerializableToJavaScript)) && !customSerializationObjects.Contains(value) ) { customSerializationObjects.Add(value); ((ISerializableToJavaScript) value).SerializeToJavaScript(this, writer); customSerializationObjects.Remove(value); return; } var attribute = ReflectionUtilities.GetAttribute<JavaScriptObjectAttribute>(value); if( attribute != null && !string.IsNullOrEmpty(attribute.Prefix) ) writer.WriteRaw(attribute.Prefix); base.Serialize(writer, value); if( attribute != null && !string.IsNullOrEmpty(attribute.Suffix) ) writer.WriteRaw(attribute.Suffix); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var request = value as IMultiSearchRequest; if (request == null) return; var settings = serializer.GetConnectionSettings(); var elasticsearchSerializer = settings.Serializer; if (elasticsearchSerializer == null) return; if (request.Operations == null) return; foreach (var operation in request.Operations.Values) { var indices = (request.Index != null && !request.Index.Equals(operation.Index)) ? operation.Index : null; var types = (request.Type != null && !request.Type.Equals(operation.Type)) ? operation.Type : null; var searchType = operation.RequestParameters.GetQueryStringValue<SearchType>("search_type").GetStringValue(); if (searchType == "query_then_fetch") searchType = null; var header = new { index = (indices as IUrlParameter)?.GetString(settings), type = (types as IUrlParameter)?.GetString(settings), search_type = searchType, preference = operation.Preference, routing = operation.Routing, ignore_unavailable = operation.IgnoreUnavalable }; var headerBytes = elasticsearchSerializer.SerializeToBytes(header, SerializationFormatting.None); writer.WriteRaw(headerBytes.Utf8String() + "\n"); var bodyBytes = elasticsearchSerializer.SerializeToBytes(operation, SerializationFormatting.None); writer.WriteRaw(bodyBytes.Utf8String() + "\n"); } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var request = (IMultiSearchTemplateRequest)value; if (request == null) return; var settings = serializer.GetConnectionSettings(); var elasticsearchSerializer = settings.Serializer; if (elasticsearchSerializer == null) return; if (request.Operations == null) return; foreach (var operation in request.Operations.Values) { IUrlParameter indices = request.Index == null || !request.Index.Equals(operation.Index) ? operation.Index : null; IUrlParameter types = request.Type == null || !request.Type.Equals(operation.Type) ? operation.Type : null; var searchType = operation.RequestParameters.GetQueryStringValue<SearchType>("search_type").GetStringValue(); if (searchType == "query_then_fetch") searchType = null; var header = new { index = indices?.GetString(settings), type = types?.GetString(settings), search_type = searchType, preference = operation.Preference, routing = operation.Routing, ignore_unavailable = operation.IgnoreUnavalable }; var headerString = elasticsearchSerializer.SerializeToString(header, SerializationFormatting.None); writer.WriteRaw($"{headerString}\n"); var bodyString = elasticsearchSerializer.SerializeToString(operation, SerializationFormatting.None); writer.WriteRaw($"{bodyString}\n"); }; }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var tsr = value as TimeseriesResult; if(tsr == null) throw new InvalidOperationException("Cannot serialize type {0}".FormatString(value.GetType())); writer.WriteRaw(JsonConvert.SerializeObject(new { RollupType = tsr.RollupType.ToString(), Timeseries = tsr.Timeseries.Values, Labels = from k in tsr.Timeseries.Keys select new {label = k}, TimeseriesInfo = tsr.Timeseries.Values.Select(ts => ts.Select(t => t.Value)) }, new JsonConverter[] { new TimeseriesConverter(), new TimeseriesPeriodConverter() })); }
// Custom Biggylist serialization which simply writes each object, separated by newlines, to the output public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var list = value as IEnumerable; // Loop over all items in the list foreach (var item in list) { // Serialize the object to the writer serializer.Serialize(writer, item); // Separate with newline characters writer.WriteRaw("\r\n"); } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var bulk = value as IBulkRequest; var settings = serializer?.GetConnectionSettings(); var elasticsearchSerializer = settings?.Serializer; if (elasticsearchSerializer == null|| bulk?.Operations == null) return ; foreach(var op in bulk.Operations) { op.Index = op.Index ?? bulk.Index ?? op.ClrType; if (op.Index.EqualsMarker(bulk.Index)) op.Index = null; op.Type = op.Type ?? bulk.Type ?? op.ClrType; if (op.Type.EqualsMarker(bulk.Type)) op.Type = null; op.Id = op.GetIdForOperation(settings.Inferrer); var opJson = elasticsearchSerializer.SerializeToString(op, SerializationFormatting.None); writer.WriteRaw($"{{\"{op.Operation}\":" + opJson + "}\n"); var body = op.GetBody(); if (body == null) continue; var bodyJson = elasticsearchSerializer.SerializeToString(body, SerializationFormatting.None); writer.WriteRaw(bodyJson + "\n"); } }
/// <summary> /// Data should be written as an array of arrays, according to Flot specification. /// </summary> /// <param name="writer"></param> /// <param name="value">Should be a dictionary.</param> /// <param name="serializer"></param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { // I'm not sure if this is needed. if (!(value is IDictionary)) throw new Exception("Value is not a dictionary."); foreach (dynamic teste in (IEnumerable)value) { writer.WriteStartArray(); serializer.Serialize(writer, teste.Key); serializer.Serialize(writer, teste.Value); writer.WriteEndArray(); writer.WriteRaw(", "); } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { HasChildFilter term = (HasChildFilter)value; if (term != null) { writer.WriteStartObject(); writer.WritePropertyName("has_child"); writer.WriteStartObject(); if (term.Query != null) { writer.WritePropertyName("query"); serializer.Serialize(writer, term.Query); writer.WriteRaw(",\"type\": \"" + term.Type+"\""); if(term.Scope!=null) { writer.WriteRaw(",\"_scope\": \"" + term.Scope + "\""); } } writer.WriteEndObject(); writer.WriteEndObject(); } }
public override void WriteJson(JsonWriter writer, object value) { if (value is DateTime) { writer.WriteValue(JsonConvert.ConvertDateTimeToJavaScriptTicks((DateTime)value)); } else if (value is DateTime? && ((DateTime?)value).HasValue) { writer.WriteValue(JsonConvert.ConvertDateTimeToJavaScriptTicks(((DateTime?)value).Value)); } else { writer.WriteRaw("null"); } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null) { if (serializer.NullValueHandling == NullValueHandling.Include) { writer.WriteNull(); } return; } writer.WriteStartArray(); byte[] arbitraryData = (byte[]) value; writer.WriteRaw(string.Join(",", arbitraryData)); writer.WriteEndArray(); }
/// <summary> /// Writes this token to a <see cref="JsonWriter"/>. /// </summary> /// <param name="writer">A <see cref="JsonWriter"/> into which this method will write.</param> /// <param name="converters">A collection of <see cref="JsonConverter"/> which will be used when writing the token.</param> public override void WriteTo(JsonWriter writer, params JsonConverter[] converters) { writer.WriteStartObject(); if (this.WithComment) { var lPath = writer.Path; var lState = writer.WriteState; StringBuilder lComments = new StringBuilder(); int lLevel = (lPath.Split('.').Length + 1) * 2; if (lPath == "") lLevel = 2; writer.WriteWhitespace("\r\n"); for (int lCount = 0; lCount < mComment.Count; lCount++) { if (lLevel > 0) writer.WriteWhitespace(new string(' ', lLevel)); writer.WriteRaw("//" + mComment[lCount]); if (lCount + 1 < mComment.Count) writer.WriteWhitespace("\r\n"); } } var _properties = base.Properties(); foreach (var lProperty in _properties) { lProperty.WriteTo(writer, converters); } writer.WriteEndObject(); //base.WriteTo(writer, converters); }
/// <summary> /// Write the JSON string. This will convert all the properties to a JSON string. /// This is done manaully to improve conversion time. The default serializer will check /// each property if it can convert. This will convert the properties automatically. This /// will double the speed. /// /// Newtonsoft.Json.JsonConvert.SerializeObject(ensemble.BottomTrackEngineeringData). /// /// </summary> /// <param name="writer">JSON Writer.</param> /// <param name="value">Object to write to JSON.</param> /// <param name="serializer">Serializer to convert the object.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { // Cast the object var data = value as BottomTrackEngineeringDataSet; // Start the object writer.Formatting = Formatting.None; // Make the text not indented, so not as human readable. This will save disk space writer.WriteStartObject(); // Start the JSON object // Write the base values writer.WriteRaw(data.ToJsonBaseStub()); writer.WriteRaw(","); // SamplesPerSecond writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_SAMPLESPERSECOND); writer.WriteValue(data.SamplesPerSecond); // SystemFreqHz writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_SYSTEMFREQHZ); writer.WriteValue(data.SystemFreqHz); // LagSamples writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_LAGSAMPLES); writer.WriteValue(data.LagSamples); // CPCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_CPCE); writer.WriteValue(data.CPCE); // NCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_NCE); writer.WriteValue(data.NCE); // RepeatN writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_REPEATN); writer.WriteValue(data.RepeatN); // AmbHz writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_AMBHZ); writer.WriteStartArray(); for (int beam = 0; beam < 4; beam++) { writer.WriteValue(data.AmbHz[beam]); } writer.WriteEndArray(); // AmbVel writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_AMBVEL); writer.WriteStartArray(); for (int beam = 0; beam < 4; beam++) { writer.WriteValue(data.AmbVel[beam]); } writer.WriteEndArray(); // AmbAmp writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_AMBAMP); writer.WriteStartArray(); for (int beam = 0; beam < 4; beam++) { writer.WriteValue(data.AmbAmp[beam]); } writer.WriteEndArray(); // AmbCor writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_AMBCOR); writer.WriteStartArray(); for (int beam = 0; beam < 4; beam++) { writer.WriteValue(data.AmbCor[beam]); } writer.WriteEndArray(); // AmbSNR writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_AMBSNR); writer.WriteStartArray(); for (int beam = 0; beam < 4; beam++) { writer.WriteValue(data.AmbSNR[beam]); } writer.WriteEndArray(); // LagUsed writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_BTE_LAGUSED); writer.WriteStartArray(); for (int beam = 0; beam < 4; beam++) { writer.WriteValue(data.LagUsed[beam]); } writer.WriteEndArray(); // End the object writer.WriteEndObject(); }
private List<TestResult> GetTestResultFromSTDB(SqlCommand command, JsonWriter serializer, DateTime dateToDump) { var startTime = Formator.FormatDateTime(dateToDump.AddMinutes(-ConfigUtil.JobDumpIntervalMinute)); var endTime = Formator.FormatDateTime(dateToDump); ALogger.LogInfo("GetTestResultFromSTDB: Start {0} to {1} - Input {2}", startTime, endTime, dateToDump.ToString("yyyy-MM-dd HH:mm:ss")); if (command == null || serializer == null) { ALogger.LogError("Not allowed to pass null to this method"); throw new NoNullAllowedException("Not allowed to pass null to this method"); } var limit = ""; if (_recordLimit != null && _recordLimit > 0) { limit = " TOP " + _recordLimit + " "; } command.CommandTimeout = ConfigUtil.DBQueryTimeout; command.CommandText = string.Format( //"WAITFOR DELAY '000:01:10';" + "SELECT "+ limit +" US.userID AS 'uuid', " + "SE.serverName AS 'capb.name'," + "SE.serverVersion AS 'capb.version', " + "SE.serverCompName AS 'capb.server', " + "(select case when PD.productName is null then '' else PD.productName end) AS 'prod.name', " + "(select case when PD.productVersion is null then '' else PD.productVersion end) AS 'prod.vers', " + "'RST' AS 'prod.component.name', " + "((select case when CL.clientName is null then '' else CL.clientName end) + ' ' + (select case when " + "CL.clientVersion is null then '' else CL.clientVersion end)) AS 'prod.component.vers', " + "CONVERT(varchar(10),TR.testID) AS 'testID', " + "US.userID AS 'userProfile.uuid', " + "(select case when US.userName is null then '' else US.userName end) AS 'userProfile.userName', " + "(select case when US.userName is null then '' else US.userName end) AS 'userProfile.email', " + "(select case when GL.geoCountry is null then '' else GL.geoCountry end) AS 'userProfile.geoCountry', " + "SE.serverName AS 'server.name', " + "SE.serverVersion AS 'server.version', " + "SE.serverCompName AS 'server.compName', " + "DC.dcSite AS 'server.dataCenter', " + "'RST' AS 'client.name', " + "((select case when CL.clientName is null then '' else CL.clientName end) + ' ' + (select case when CL.clientVersion is null then '' else CL.clientVersion end)) AS 'client.version', " + "(select case when CL.machineID is null then '' else CL.machineID end) AS 'machineID', " + "(select case when RU.runMOdeKey is null then '' else RU.runMOdeDesc end) AS 'runningMode'," + "(select case when TR.localDateTime is null then '' else TR.localDateTime end) AS 'localDateTime', " + "(select case when TR.wasDateTime is null then '' else TR.wasDateTime end) AS 'server.wasDateTime', " + "(select case when TR.dbsDateTime is null then '' else TR.dbsDateTime end) AS 'server.dbsDateTime', " + "(select case when RU.runModeKey is null then '' else RU.runModeDesc end) AS 'runningMode', " + "TC.testCaseID AS 'testcase.id', " + "isnull(TG.testGroupID,'') AS 'testcase.group', " + "isnull(TC.testCaseName,'') AS 'testcase.title', " + "isnull(VL.validDesc,'') AS 'testcase.valid', " + "isnull(TCS.tcValue,'') AS 'testcase.value', " + "(select case when isnull(TCS.tcDesc,'') = '-' then TCS.tcValue else isnull(TCS.tcDesc,'') end) AS 'testcase.description', " + "isnull(TC.rphURL,'') AS 'testcase.rphURL', " + "isnull(TCS.resultID,'') AS 'testcase.resultID', " + "isnull(TCS.tcRecom,'') AS 'testcase.recommendation' " + "FROM master_dataCenter DC, " + "rstTestResult TR, " + "master_user US, " + "master_geoLocation GL, " + "master_product PD, " + "master_client CL, " + "master_runMode RU, " + "master_server SE, " + "rstTestCases TCS, " + "master_testGroup TG, " + "master_testCase TC, " + "master_valid VL " + "WHERE TR.dcKey = DC.dcKey " + "AND TR.userKey = US.userKey " + "AND TR.geoLocationKey = GL.geoLocationKey " + "AND TR.productKey = PD.productKey " + "AND TR.clientKey = CL.clientKey " + "AND TR.runMOdeKey = RU.runMOdeKey " + "AND TR.serverKey = SE.serverKey " + "AND TR.testKey = TCS.testKey " + "AND TCS.validKey = VL.validKey " + "AND TCS.testGroupKey = TG.testGroupKey " + "AND TCS.testCaseKey = TC.testCaseKey " + "AND TR.dbsDateTime >= convert(datetime, '" + startTime + "') " + "AND TR.dbsDateTime <= convert(datetime, '" + endTime + "') " + "ORDER BY TR.testID,testCaseOrd,testCaseName " ); int numberOfTestID = 0; List<TestResult> testResult = null; using (var dataReader = command.ExecuteReader()) { var previousTestReferenceID = string.Empty; while (dataReader.Read()) { var record = dataReader as IDataRecord; var testID = (string)record["testID"]; if (testID != previousTestReferenceID) { if (testResult == null) { testResult = new List<TestResult>(); } testResult.Add(new TestResult { UUID = (string)record["uuid"], CapbName = (string)record["capb.name"], CapbVers = (string)record["capb.version"], CapbServer = (string)record["capb.server"], ProdName = (string)record["prod.name"], ProdVers = (string)record["prod.vers"], ProdComponentName = (string)record["prod.component.name"], ProdComponentVers = (string)record["prod.component.vers"], TestID = Convert.ToInt32(record["testID"]), UserProfileUUID = (string)record["userProfile.uuid"], //UserProfileAccountDomain = (string)record["userProfile.accountDomain"], UserProfileUserName = (string)record["userProfile.userName"], UserProfileEmail = (string)record["userProfile.email"], //UserProfileContactName = (string)record["userProfile.contactName"], //UserProfileLocation = (string)record["userProfile.location"], //UserProfileCID = (string)record["userProfile.CID"], UserProfileGeoCountry = (string)record["userProfile.geoCountry"], ServerName = (string)record["server.name"], ServerVersion = (string)record["server.version"], ServerCompName = (string)record["server.compName"], ServerDatacenter = (string)record["server.dataCenter"], ServerWasDateTime = (DateTime)record["server.wasDateTime"], ServerDbsDateTime = (DateTime)record["server.dbsDateTime"], ClientName = (string)record["client.name"], ClientVersion = (string)record["client.version"], MachineID = (string)record["machineID"], RunningMode = (string)record["runningMode"], LocalDateTime = (DateTime)record["localDateTime"], TestCases = new List<TestCase>() }); previousTestReferenceID = testID; numberOfTestID++; } testResult[numberOfTestID - 1].TestCases.Add( new TestCase { ID = (string) record["testcase.id"], Title = (string) record["testcase.title"], Group = (string) record["testcase.group"], Valid = (string) record["testcase.valid"], Value = (string) record["testcase.value"], Description = (string) record["testcase.description"], Recommendation = (string) record["testcase.recommendation"], RphURL = (string) record["testcase.rphURL"], ResultID = (string) record["testcase.resultID"] } ); } if (numberOfTestID != 0) { for (var i = 0; i < numberOfTestID; i++) { var json = JsonConvert.SerializeObject(testResult[i]); serializer.WriteStartObject(); serializer.WriteRaw(json); serializer.WriteEndObject(); serializer.WriteWhitespace(Environment.NewLine); } } } return testResult; }
private void SerializeValue(JsonWriter writer, object value) { JsonConverter converter; if (value == null) { writer.WriteNull(); } else if (HasMatchingConverter(value.GetType(), out converter)) { converter.WriteJson(writer, value); } else if (value is IConvertible) { IConvertible convertible = value as IConvertible; switch (convertible.GetTypeCode()) { case TypeCode.String: writer.WriteValue((string)convertible); break; case TypeCode.Char: writer.WriteValue((char)convertible); break; case TypeCode.Boolean: writer.WriteValue((bool)convertible); break; case TypeCode.SByte: writer.WriteValue((sbyte)convertible); break; case TypeCode.Int16: writer.WriteValue((short)convertible); break; case TypeCode.UInt16: writer.WriteValue((ushort)convertible); break; case TypeCode.Int32: writer.WriteValue((int)convertible); break; case TypeCode.Byte: writer.WriteValue((byte)convertible); break; case TypeCode.UInt32: writer.WriteValue((uint)convertible); break; case TypeCode.Int64: writer.WriteValue((long)convertible); break; case TypeCode.UInt64: writer.WriteValue((ulong)convertible); break; case TypeCode.Single: writer.WriteValue((float)convertible); break; case TypeCode.Double: writer.WriteValue((double)convertible); break; case TypeCode.DateTime: writer.WriteValue((DateTime)convertible); break; case TypeCode.Decimal: writer.WriteValue((decimal)convertible); break; default: SerializeObject(writer, value); break; } } else if (value is IList) { SerializeList(writer, (IList)value); } else if (value is IDictionary) { SerializeDictionary(writer, (IDictionary)value); } else if (value is ICollection) { SerializeCollection(writer, (ICollection)value); } else if (value is Identifier) { writer.WriteRaw(value.ToString()); } else { Type valueType = value.GetType(); SerializeObject(writer, value); } }
/// <summary> /// Write the JSON string. This will convert all the properties to a JSON string. /// This is done manaully to improve conversion time. The default serializer will check /// each property if it can convert. This will convert the properties automatically. This /// will double the speed. /// /// Newtonsoft.Json.JsonConvert.SerializeObject(ensemble.SystemSetupDataSet). /// /// </summary> /// <param name="writer">JSON Writer.</param> /// <param name="value">Object to write to JSON.</param> /// <param name="serializer">Serializer to convert the object.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { // Cast the object var data = value as SystemSetupDataSet; // Start the object writer.Formatting = Formatting.None; // Make the text not indented, so not as human readable. This will save disk space writer.WriteStartObject(); // Start the JSON object // Write the base values writer.WriteRaw(data.ToJsonBaseStub()); writer.WriteRaw(","); // BT SamplesPerSecond writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_SAMPLESPERSECOND); writer.WriteValue(data.BtSamplesPerSecond); // BT SystemFreqHz writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_SYSTEMFREQHZ); writer.WriteValue(data.BtSystemFreqHz); // BT CPCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_CPCE); writer.WriteValue(data.BtCPCE); // BT NCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_NCE); writer.WriteValue(data.BtNCE); // BT RepeatN writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_REPEATN); writer.WriteValue(data.BtRepeatN); // WP SamplesPerSecond writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_SAMPLESPERSECOND); writer.WriteValue(data.WpSamplesPerSecond); // WP SystemFreqHz writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_SYSTEMFREQHZ); writer.WriteValue(data.WpSystemFreqHz); // WP CPCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_CPCE); writer.WriteValue(data.WpCPCE); // WP NCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_NCE); writer.WriteValue(data.WpNCE); // WP RepeatN writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_REPEATN); writer.WriteValue(data.WpRepeatN); // WP LagSamples writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_LAGSAMPLES); writer.WriteValue(data.WpLagSamples); // Voltage writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_VOLTAGE); writer.WriteValue(data.Voltage); // XmtVoltage writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_XMTVOLTAGE); writer.WriteValue(data.XmtVoltage); // BtBroadband writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BTBROADBAND); writer.WriteValue(data.BtBroadband); // BtLagLength writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BTLAGLENGTH); writer.WriteValue(data.BtLagLength); // BtNarrowband writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BTNARROWBAND); writer.WriteValue(data.BtNarrowband); // BtBeamMux writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BTBEAMMUX); writer.WriteValue(data.BtBeamMux); // WpBroadband writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WPBROADBAND); writer.WriteValue(data.WpBroadband); // WpLagLength writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WPLAGLENGTH); writer.WriteValue(data.WpLagLength); // WpBandWidth writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WPBANDWIDTH); writer.WriteValue(data.WpTransmitBandwidth); // WpBandWidth1 writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WPBANDWIDTH1); writer.WriteValue(data.WpReceiveBandwidth); // End the object writer.WriteEndObject(); }
//private void WriteInstances(JsonWriter writer) //{ // //write a flag node for all pickable instances // writer.WriteStartObject(); // writer.WritePropertyName("type"); //instance node // writer.WriteValue("matrix"); // writer.WritePropertyName("id"); // writer.WriteValue("instances"); // writer.WritePropertyName("elements"); // // WriteMatrix(writer, GetGlobalModelTransform()); // WriteMatrix(writer, XbimMatrix3D.Identity); // writer.WritePropertyName("nodes"); // writer.WriteStartArray(); // WriteGeometry(writer); // writer.WriteEndArray(); // writer.WriteEndObject(); //} private void WriteInstances(JsonWriter writer) { XbimMatrix3D globalTrans = GetGlobalModelTransform(); //write out the material nodes and then the instances for each material // Dictionary<int, XbimTexture> styles = _context.SurfaceStyles().ToDictionary(s => s.DefinedObjectId); //write all pickable instances writer.WriteStartObject(); foreach (var shapeGeom in _context.ShapeGeometries()) { writer.WriteRaw(shapeGeom.ShapeData); //the vertex geometry writer.WritePropertyName("Shapes"); //instance nodes writer.WriteStartArray(); foreach (var shapeInstance in _context.ShapeInstancesOf(shapeGeom)) { writer.WriteStartObject(); writer.WritePropertyName("id"); writer.WriteValue(shapeInstance.InstanceLabel); writer.WritePropertyName("pid"); writer.WriteValue(shapeInstance.IfcProductLabel); writer.WritePropertyName("tr"); WriteMatrix(writer, shapeInstance.Transformation); writer.WritePropertyName("sid"); writer.WriteValue(shapeInstance.StyleLabel); writer.WriteEndObject(); } writer.WriteEndArray(); } writer.WriteEndObject(); }
/// <summary> /// Produces a json respresentation of the model. /// </summary> /// <param name="writer">The writer to use for producing json.</param> public void ToJson(JsonWriter writer) { writer.WriteRaw(this.ToString()); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteRaw(((JsLiteral)value).JsText); }
/// <summary> /// Write the JSON string. This will convert all the properties to a JSON string. /// This is done manaully to improve conversion time. The default serializer will check /// each property if it can convert. This will convert the properties automatically. This /// will double the speed. /// /// Newtonsoft.Json.JsonConvert.SerializeObject(ensemble.SystemSetupDataSet). /// /// </summary> /// <param name="writer">JSON Writer.</param> /// <param name="value">Object to write to JSON.</param> /// <param name="serializer">Serializer to convert the object.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { // Cast the object var data = value as SystemSetupDataSet; // Start the object writer.Formatting = Formatting.None; // Make the text not indented, so not as human readable. This will save disk space writer.WriteStartObject(); // Start the JSON object // Write the base values writer.WriteRaw(data.ToJsonBaseStub()); writer.WriteRaw(","); // BT SamplesPerSecond writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_SAMPLESPERSECOND); writer.WriteValue(data.BtSamplesPerSecond); // BT SystemFreqHz writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_SYSTEMFREQHZ); writer.WriteValue(data.BtSystemFreqHz); // BT CPCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_CPCE); writer.WriteValue(data.BtCPCE); // BT NCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_NCE); writer.WriteValue(data.BtNCE); // BT RepeatN writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_BT_REPEATN); writer.WriteValue(data.BtRepeatN); // WP SamplesPerSecond writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_SAMPLESPERSECOND); writer.WriteValue(data.WpSamplesPerSecond); // WP SystemFreqHz writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_SYSTEMFREQHZ); writer.WriteValue(data.WpSystemFreqHz); // WP CPCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_CPCE); writer.WriteValue(data.WpCPCE); // WP NCE writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_NCE); writer.WriteValue(data.WpNCE); // WP RepeatN writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_REPEATN); writer.WriteValue(data.WpRepeatN); // WP LagSamples writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_WP_LAGSAMPLES); writer.WriteValue(data.WpLagSamples); // Voltage writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_SS_VOLTAGE); writer.WriteValue(data.Voltage); // End the object writer.WriteEndObject(); }
private List<TestResult> GetTestResultFromOpsDB(SqlCommand command, JsonWriter serializer, DateTime dateToDump) { var compName = Environment.GetEnvironmentVariable("COMPUTERNAME") ?? ""; var envName = Environment.GetEnvironmentVariable("AS_ENV") ?? ""; var startTime = Formator.FormatDateTime(dateToDump.AddMinutes(-ConfigUtil.JobDumpIntervalMinute)); var endTime = Formator.FormatDateTime(dateToDump); ALogger.LogInfo("GetTestResultFromOpsDB: Start {0} to {1} - Input {2}", startTime, endTime, dateToDump.ToString("yyyy-MM-dd HH:mm:ss")); if (command == null || serializer == null) { ALogger.LogError("Not allowed to pass null to this method"); throw new NoNullAllowedException("Not allowed to pass null to this method"); } var limit = ""; if (_recordLimit != null && _recordLimit > 0) { limit = " TOP " + _recordLimit + " "; } command.CommandTimeout = ConfigUtil.DBQueryTimeout; command.CommandText = string.Format( //"WAITFOR DELAY '000:01:10';" + "SELECT " + limit + " m.UUID as 'uuid', " + "'SystemTestApp' AS 'capb.name', " + "'1.0' AS 'capb.version', " + "'" + compName + "' AS 'capb.server', " + //"*** '62' **** AS 'prod.name', " + //"*** '127EIKON' ***** AS 'prod.vers', " + "'RST' AS 'prod.component.name', " + //"*** '127ST' **** AS 'prod.component.vers', " + //"'' AS 'testID', => null" + "m.UUID AS 'userProfile.uuid', " + /* UserProfileAccountDomain => null*/ // "*** 61 **** AS 'userProfile.userName', " + //"*** UIS **** AS 'userProfile.email', " + //UserProfileContactName = (string)record["userProfile.contactName"], //UserProfileLocation = (string)record["userProfile.location"], //UserProfileCID = (string)record["userProfile.CID"], //"*** UIS **** AS 'userProfile.geoCountry', " + "'SystemTestApp' AS 'server.name', " + "'1.0' AS 'server.version', " + "'" + compName + "' AS 'server.compName', " + "'" + envName + "' AS 'server.dataCenter', " + "s.LastSeen AS 'server.wasDateTime', " + "s.LastSeen AS 'server.dbsDateTime', " + "'RST' AS 'client.name', " + //"*** '127ST' **** AS 'client.version', " + "m.MachineGUID AS 'machineID', " + "'' AS 'runningMode', " + //"*** 73 **** AS 'localDateTime', " + "s.StatCode AS 'testcase.id', " + "'' AS 'testcase.group', " + "'' AS 'testcase.title', " + "'' AS 'testcase.valid', " + "s.StatValue AS 'testcase.value', " + "'' AS 'testcase.description', " + "'' AS 'testcase.rphURL', " + "'' AS 'testcase.resultID', " + "'' AS 'testcase.recommendation' " + "FROM UserStats s LEFT JOIN UserMachineInstallations m " + "ON (s.UserMachineInstallationID = m.UserMachineInstallationID) " + "WHERE m.Product = 'est' " + "AND s.LastSeen >= convert(datetime, '" + startTime + "') " + "AND s.LastSeen <= convert(datetime, '" + endTime + "') " ); var numberOfTestID = 0; List<TestResult> testResult = null; using (var dataReader = command.ExecuteReader()) { var previousTestReferenceID = new DateTime(0); while (dataReader.Read()) { var record = dataReader as IDataRecord; var timeStamp = (DateTime)record["server.dbsDateTime"]; if (timeStamp != previousTestReferenceID) { if (testResult == null) { testResult = new List<TestResult>(); } var userDetails = UserInfo.GetUserDetails((string) record["uuid"]); testResult.Add(new TestResult { UUID = (string)record["uuid"], CapbName = (string)record["capb.name"], CapbVers = (string)record["capb.version"], CapbServer = (string)record["capb.server"], //ProdName = (string)record["prod.name"], // 62 //ProdVers = (string)record["prod.vers"], // 127EIKON ProdComponentName = (string)record["prod.component.name"], //ProdComponentVers = (string)record["prod.component.vers"], // 127ST //TestID = Convert.ToInt32(record["testID"]), null UserProfileUUID = (string)record["userProfile.uuid"], //UserProfileAccountDomain = (string)record["userProfile.accountDomain"], null UserProfileUserName = (userDetails != null) ? userDetails.UserID : "",// UIS UserProfileEmail = (userDetails != null) ? userDetails.Email : "", // UIS //UserProfileContactName = (string)record["userProfile.contactName"], => null //UserProfileLocation = (string)record["userProfile.location"], => null //UserProfileCID = (string)record["userProfile.CID"], => null UserProfileGeoCountry = (userDetails != null) ? userDetails.Country : "", // UIS ServerName = (string)record["server.name"], ServerVersion = (string)record["server.version"], ServerCompName = (string)record["server.compName"], ServerDatacenter = (string)record["server.dataCenter"], ServerWasDateTime = (DateTime)record["server.wasDateTime"], ServerDbsDateTime = (DateTime)record["server.dbsDateTime"], ClientName = (string)record["client.name"], //ClientVersion = (string)record["client.version"], // 127ST MachineID = record["machineID"].ToString(), RunningMode = (string)record["runningMode"], // blank //LocalDateTime = (DateTime)record["localDateTime"], // 73 TestCases = new List<TestCase>() }); previousTestReferenceID = timeStamp; numberOfTestID++; } var statCode = DataMapper.MapStatCode((string)record["testcase.id"]); var statValue = (string)record["testcase.value"]; testResult[numberOfTestID - 1].TestCases.Add( new TestCase { ID = statCode, Title = (string)record["testcase.title"], // blank Group = (string)record["testcase.group"], // blank Valid = (string)record["testcase.valid"], // blank Value = statValue, Description = (string)record["testcase.description"], // blank Recommendation = (string)record["testcase.recommendation"], // blank RphURL = (string)record["testcase.rphURL"], // blank ResultID = (string)record["testcase.resultID"] // blank } ); switch (statCode) { case "62": testResult[numberOfTestID - 1].ProdName = statValue; break; case "127EIKON": testResult[numberOfTestID - 1].ProdVers = statValue; break; case "127ST": testResult[numberOfTestID - 1].ProdComponentVers = statValue; testResult[numberOfTestID - 1].ClientVersion = statValue; break; case "27": // timezone testResult[numberOfTestID - 1].LocalDateTime = GetLocalTestTime(testResult[numberOfTestID - 1].ServerWasDateTime, statValue); break; /*case "73": // local time break;*/ } } if (numberOfTestID == 0) { ALogger.LogWarn("DataDumper.GetTestResultFromOpsDB(): no any test data in specific peroid [{0} until {1}]", startTime, endTime); return testResult; } for (var i = 0; i < numberOfTestID; i++) { var json = JsonConvert.SerializeObject(testResult[i]); serializer.WriteStartObject(); serializer.WriteRaw(json); serializer.WriteEndObject(); serializer.WriteWhitespace(Environment.NewLine); } } return testResult; }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value != null) { bool isControls = value is MapControls; PropertyInfo[] properties = value.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); StringBuilder sb = new StringBuilder(); foreach (PropertyInfo property in properties) { ConfigOptionAttribute attr = ClientConfig.GetClientConfigAttribute(property); if (attr != null && property.PropertyType == typeof(bool)) { object prValue = property.GetValue(value, null); object defaultValue = ReflectionUtils.GetDefaultValue(property); if ((bool)prValue) { if (!isControls) { if (!(bool)defaultValue) { sb.Append(string.Concat("'enable", property.Name, "',")); } } else { sb.Append(string.Concat("'", property.Name,"',")); } } else { if (!isControls) { if ((bool)defaultValue) { sb.Append(string.Concat("'disable", property.Name, "',")); } } } } } if (sb.Length > 0) { sb.Remove(sb.Length - 1, 1); writer.WriteStartArray(); writer.WriteRaw(sb.ToString()); writer.WriteEndArray(); return; } } writer.WriteStartArray(); writer.WriteEndArray(); }
/// <summary> /// Produces a json respresentation of the model. /// </summary> /// <param name="writer">The writer to use for producing json.</param> public void ToJson(JsonWriter writer) { writer.WriteRaw(_json); }
/// <summary> /// Write the JSON string. This will convert all the properties to a JSON string. /// This is done manaully to improve conversion time. The default serializer will check /// each property if it can convert. This will convert the properties automatically. This /// will double the speed. /// /// Newtonsoft.Json.JsonConvert.SerializeObject(ensemble.Adcp2InfoDataSet). /// /// </summary> /// <param name="writer">JSON Writer.</param> /// <param name="value">Object to write to JSON.</param> /// <param name="serializer">Serializer to convert the object.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { // Cast the object var data = value as Adcp2InfoDataSet; // Start the object writer.Formatting = Formatting.None; // Make the text not indented, so not as human readable. This will save disk space writer.WriteStartObject(); // Start the JSON object // Write the base values writer.WriteRaw(data.ToJsonBaseStub()); writer.WriteRaw(","); // ViPwr writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_ADCP2INFO_VIPWR); writer.WriteValue(data.ViPwr); // ViNf writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_ADCP2INFO_VINF); writer.WriteValue(data.ViNf); // ViNfl writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_ADCP2INFO_VINFL); writer.WriteValue(data.ViNfl); // ViSleep writer.WritePropertyName(DataSet.BaseDataSet.JSON_STR_ADCP2INFO_VISLEEP); writer.WriteValue(data.ViSleep); // End the object writer.WriteEndObject(); }
public void SerializeToJavaScript(JsonSerializer serializer, JsonWriter writer) { writer.WriteRaw("thePrefix"); serializer.Serialize(writer, this); writer.WriteRaw("theSuffix"); }
private static void WriteJsonValue(JsonWriter writer, MemberInfo field, object value, Type type) { writer.WritePropertyName(field.Name); if (type.IsEnum) { var e = Enum.GetName(type, value); if (value is DateTime) writer.WriteValue(e ?? ((DateTime)value).ToString("yyyy-MM-dd")); else writer.WriteValue(e ?? value.ToString()); writer.WriteRaw("\t"); writer.WriteComment( string.Concat(type.GetCustomAttribute<FlagsAttribute>() != null ? "flags " : "enum ", type.Name, " { ", string.Join(", ", Enum.GetNames(type)), " }")); } else { if (type.IsPrimitive) writer.WriteValue(value); else _serializer.Serialize(writer, value); } var info = field as PropertyInfo; if (info != null && info.GetSetMethod() == null) { writer.WriteRaw("\t"); writer.WriteComment("readonly"); } var ca = field.GetCustomAttribute<ConfigCommentAttribute>(); if (string.IsNullOrEmpty(ca?.Comment)) return; writer.WriteRaw("\t"); writer.WriteComment(ca.Comment); }
/// <summary> /// Writes the JSON representation of the object. /// </summary> /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param> /// <param name="value">The value.</param> /// <param name="serializer">The calling serializer.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var v8Item = value as V8ScriptItem; var jsType = v8Item.GetJsType(); object outObj; if (jsType == JsTypes.jsError) { Dictionary<string, object> obj = new Dictionary<string, object>(); obj["message"] = v8Item.GetProperty("message") as string; obj["stack"] = v8Item.GetProperty("stack") as string; foreach (var pname in v8Item.GetPropertyNames()) { var item = v8Item.GetProperty(pname); if (ShouleSerialize(item, out outObj)) { obj[pname] = outObj; } } serializer.Serialize(writer, obj, obj.GetType()); } else if (jsType == JsTypes.JsObject || jsType == JsTypes.JsArray || jsType == JsTypes.jsArguments) { try { var json = v8Item.Engine.Script.JSON.stringify(v8Item); if (writer is JTokenWriter) { var tw = new StringReader(json); var jsonReader = new JsonTextReader(tw); writer.WriteToken(jsonReader); } else { writer.WriteRaw(json); } } catch (Exception) { throw; } } else if (jsType == JsTypes.JsDate) { var dateString = (string)v8Item.InvokeMethod("toISOString", new object[0]); DateTime dt = DateTime.Parse(dateString, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.RoundtripKind); serializer.Serialize(writer, dt, dt.GetType()); } else { writer.WriteNull(); } }