public void TraceInsert(UntypedEvent evt, string prefix) { StringBuilder builder = new StringBuilder() .Append(this._config.TraceName) .Append(prefix); if (evt.EventKind != EventKind.Insert) { throw new InvalidOperationException(); } for (int ordinal = 0; ordinal < this._type.Fields.Count; ordinal++) { if (this._config.SingleLine) { builder.Append(" "); } else { builder .AppendLine() .Append('\t') .Append(this._type.FieldsByOrdinal[ordinal].Name) .Append(" = "); } object value = evt.GetField(ordinal) ?? "NULL"; builder.Append(String.Format(CultureInfo.InvariantCulture, "{0}", value)); } this._trace(builder.ToString()); }
public static void AddPayloadDetailsRow(StringBuilder sb, UntypedEvent evt, CepEventType eventType) { foreach (var p in eventType.FieldsByOrdinal) { object value = evt.GetField(p.Key); sb.AppendFormat("{0} = {1}, ", p.Value.Name, ((value != null) ? value.ToString() : "NULL")); } }
private static void SerializePayload(UntypedEvent evt, CepEventType eventType, string[] delimiter, Dictionary <int, int> order, CultureInfo culture, ref StringBuilder builder) { for (int ordinal = 0; ordinal < eventType.FieldsByOrdinal.Count; ordinal++) { object value = evt.GetField(order[ordinal]) ?? "NULL"; builder .AppendFormat(culture, "{0}", value) .Append(delimiter[0]); } }
/// <summary> /// Creates a string from an event payload. /// </summary> /// <param name="evt">Event of which to serialize the payload.</param> /// <param name="eventType">CEP event type.</param> /// <param name="delimiter">Delimiter between event fields.</param> /// <param name="builder">StringBuilder to append the payload string to.</param> private static void SerializePayload(UntypedEvent evt, CepEventType eventType, char delimiter, ref StringBuilder builder) { for (int ordinal = 0; ordinal < eventType.FieldsByOrdinal.Count; ordinal++) { object value = evt.GetField(ordinal) ?? "NULL"; if (value.GetType().FullName == "System.Byte[]") { System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding(); builder .AppendFormat(CultureInfo.InvariantCulture, "{0}", enc.GetString((byte[])value)) .Append(delimiter); } else { builder .AppendFormat(CultureInfo.InvariantCulture, "{0}", value) .Append(delimiter); } } }
/// <summary> /// Traces an insert event. /// </summary> /// <param name="evt">Event to trace.</param> /// <param name="prefix">String prefix to use when tracing the event.</param> public void TraceInsert(UntypedEvent evt, string prefix) { StringBuilder builder = new StringBuilder() .Append(this.config.TraceName) .Append(": ") .Append(prefix); if (evt.EventKind != EventKind.Insert) { throw new InvalidOperationException(); } for (int ordinal = 0; ordinal < this.type.Fields.Count; ordinal++) { if (this.config.SingleLine) { builder.Append(" "); } else { builder .AppendLine() .Append('\t') .Append(this.type.FieldsByOrdinal[ordinal].Name) .Append(" = "); } object value = evt.GetField(ordinal) ?? "NULL"; builder.Append(String.Format(CultureInfo.InvariantCulture, "{0}", value)); } this.trace(builder.ToString()); }