private void RunAssertion( EPServiceProvider epService, string typename, FunctionSendEvent send, Object @event) { string epl = "select * from " + typename; EPStatement statement = epService.EPAdministrator.CreateEPL(epl); var listener = new SupportUpdateListener(); statement.Events += listener.Update; send.Invoke(epService, @event); EventBean eventBean = listener.AssertOneGetNewAndReset(); JSONEventRenderer jsonEventRenderer = epService.EPRuntime.EventRenderer.GetJSONRenderer(statement.EventType); string json = jsonEventRenderer.Render(eventBean).RegexReplaceAll("(\\s|\\n|\\t)", ""); Assert.AreEqual("{\"MyInt\":1,\"MyString\":\"abc\",\"Nested\":{\"MyInsideInt\":10}}", json); XMLEventRenderer xmlEventRenderer = epService.EPRuntime.EventRenderer.GetXMLRenderer(statement.EventType); string xml = xmlEventRenderer.Render("root", eventBean).RegexReplaceAll("(\\s|\\n|\\t)", ""); Assert.AreEqual("<?xmlversion=\"1.0\"encoding=\"UTF-8\"?><root><MyInt>1</MyInt><MyString>abc</MyString><Nested><MyInsideInt>10</MyInsideInt></Nested></root>", xml); statement.Dispose(); }
public void Render(EventBean theEvent, StringWriter writer) { string result; if (format == LogSinkOutputFormat.json) { JSONEventRenderer renderer = jsonRendererCache.Get(theEvent.EventType); if (renderer == null) { renderer = GetJsonRenderer(theEvent.EventType); jsonRendererCache.Put(theEvent.EventType, renderer); } result = renderer.Render(theEvent.EventType.Name, theEvent); } else { XMLEventRenderer renderer = xmlRendererCache.Get(theEvent.EventType); if (renderer == null) { renderer = GetXmlRenderer(theEvent.EventType); xmlRendererCache.Put(theEvent.EventType, renderer); } result = renderer.Render(theEvent.EventType.Name, theEvent); } writer.Write(result); }