Beispiel #1
0
        public void TestObjectMap()
        {
            _epService.EPAdministrator.Configuration.AddEventType(
                "SupportBeanRendererOne", typeof(SupportBeanRendererOne));
            _epService.EPAdministrator.Configuration.AddEventType(
                "SupportBeanRendererThree", typeof(SupportBeanRendererThree));

            var beanOne = new SupportBeanRendererOne();
            IDictionary <String, Object> otherMap = new LinkedHashMap <String, Object>();

            otherMap["abc"] = "def";
            otherMap["def"] = 123;
            otherMap["efg"] = null;
            otherMap.Put(null, 1234);
            beanOne.StringObjectMap = otherMap;

            EPStatement stmt = _epService.EPAdministrator.CreateEPL(
                "select * from SupportBeanRendererOne");

            _epService.EPRuntime.SendEvent(beanOne);

            String json = _epService.EPRuntime.EventRenderer.RenderJSON(
                "MyEvent", stmt.First());
            String expectedJson =
                "{ \"MyEvent\": { \"StringObjectMap\": { \"abc\": \"def\", \"def\": 123, \"efg\": null } } }";

            Assert.AreEqual(RemoveNewline(expectedJson), RemoveNewline(json));

            String xmlOne = _epService.EPRuntime.EventRenderer.RenderXML(
                "MyEvent", stmt.First());
            String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
                              + "<MyEvent>\n" + "  <StringObjectMap>\n"
                              + "    <abc>def<abc>\n" + "    <def>123<def>\n"
                              + "    <efg><efg>\n" + "  </StringObjectMap>\n" + "</MyEvent>";

            Assert.AreEqual(RemoveNewline(expected), RemoveNewline(xmlOne));

            var opt = new XMLRenderingOptions();

            opt.IsDefaultAsAttribute = true;
            String xmlTwo = _epService.EPRuntime.EventRenderer.RenderXML(
                "MyEvent", stmt.First(), opt);
            String expectedTwo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
                                 + "<MyEvent>\n"
                                 + "  <StringObjectMap abc=\"def\" def=\"123\"/>\n"
                                 + "</MyEvent>";

            Assert.AreEqual(RemoveNewline(expectedTwo), RemoveNewline(xmlTwo));

            // try the same Map only undeclared
            var beanThree = new SupportBeanRendererThree();

            beanThree.StringObjectMap = otherMap;
            stmt = _epService.EPAdministrator.CreateEPL(
                "select * from SupportBeanRendererThree");
            _epService.EPRuntime.SendEvent(beanThree);
            json = _epService.EPRuntime.EventRenderer.RenderJSON("MyEvent", stmt.First());
            Assert.AreEqual(RemoveNewline(expectedJson), RemoveNewline(json));
        }
Beispiel #2
0
        private void RunAssertionPOJOMap(EPServiceProvider epService)
        {
            epService.EPAdministrator.Configuration.AddEventType(
                "SupportBeanRendererOne", typeof(SupportBeanRendererOne));
            epService.EPAdministrator.Configuration.AddEventType(
                "SupportBeanRendererThree", typeof(SupportBeanRendererThree));

            var beanOne = new SupportBeanRendererOne();
            var otherMap = new LinkedHashMap<string, object>();
            otherMap.Put("abc", "def");
            otherMap.Put("def", 123);
            otherMap.Put("efg", null);
            otherMap.Put(null, 1234);
            beanOne.StringObjectMap = otherMap;

            var stmt = epService.EPAdministrator.CreateEPL("select * from SupportBeanRendererOne");
            epService.EPRuntime.SendEvent(beanOne);

            var json = epService.EPRuntime.EventRenderer.RenderJSON("MyEvent", stmt.First());
            var expectedJson =
                "{ \"MyEvent\": { \"StringObjectMap\": { \"abc\": \"def\", \"def\": 123, \"efg\": null } } }";
            Assert.AreEqual(RemoveNewline(expectedJson), RemoveNewline(json));

            var xmlOne = epService.EPRuntime.EventRenderer.RenderXML("MyEvent", stmt.First());
            var expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                           "<MyEvent>\n" +
                           "  <StringObjectMap>\n" +
                           "    <abc>def</abc>\n" +
                           "    <def>123</def>\n" +
                           "    <efg></efg>\n" +
                           "  </StringObjectMap>\n" +
                           "</MyEvent>";
            Assert.AreEqual(RemoveNewline(expected), RemoveNewline(xmlOne));

            var opt = new XMLRenderingOptions();
            opt.IsDefaultAsAttribute = true;
            var xmlTwo = epService.EPRuntime.EventRenderer.RenderXML("MyEvent", stmt.First(), opt);
            var expectedTwo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                              "<MyEvent>\n" +
                              "  <StringObjectMap abc=\"def\" def=\"123\"/>\n" +
                              "</MyEvent>";
            Assert.AreEqual(RemoveNewline(expectedTwo), RemoveNewline(xmlTwo));

            // try the same Map only undeclared
            var beanThree = new SupportBeanRendererThree();
            beanThree.StringObjectMap = otherMap;
            stmt = epService.EPAdministrator.CreateEPL("select * from SupportBeanRendererThree");
            epService.EPRuntime.SendEvent(beanThree);
            json = epService.EPRuntime.EventRenderer.RenderJSON("MyEvent", stmt.First());
            Assert.AreEqual(RemoveNewline(expectedJson), RemoveNewline(json));

            stmt.Dispose();
        }
Beispiel #3
0
            public void Run(RegressionEnvironment env)
            {
                var beanOne = new SupportBeanRendererOne();
                IDictionary<string, object> otherMap = new LinkedHashMap<string, object>();
                otherMap.Put("abc", "def");
                otherMap.Put("def", 123);
                otherMap.Put("efg", null);
                otherMap.Put(null, 1234);
                beanOne.StringObjectMap = otherMap;

                env.CompileDeploy("@Name('s0') select * from SupportBeanRendererOne");
                env.SendEventBean(beanOne);

                var json = env.Runtime.RenderEventService.RenderJSON("MyEvent", env.GetEnumerator("s0").Advance());
                var expectedJson =
                    "{ \"MyEvent\": { \"StringObjectMap\": { \"abc\": \"def\", \"def\": 123, \"efg\": null } } }";
                Assert.AreEqual(RemoveNewline(expectedJson), RemoveNewline(json));

                var xmlOne = env.Runtime.RenderEventService.RenderXML("MyEvent", env.GetEnumerator("s0").Advance());
                var expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                               "<MyEvent>\n" +
                               "  <StringObjectMap>\n" +
                               "    <abc>def</abc>\n" +
                               "    <def>123</def>\n" +
                               "    <efg></efg>\n" +
                               "  </StringObjectMap>\n" +
                               "</MyEvent>";
                Assert.AreEqual(RemoveNewline(expected), RemoveNewline(xmlOne));

                var opt = new XMLRenderingOptions();
                opt.IsDefaultAsAttribute = true;
                var xmlTwo = env.Runtime.RenderEventService.RenderXML(
                    "MyEvent",
                    env.GetEnumerator("s0").Advance(),
                    opt);
                var expectedTwo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                                  "<MyEvent>\n" +
                                  "  <StringObjectMap abc=\"def\" def=\"123\"/>\n" +
                                  "</MyEvent>";
                Assert.AreEqual(RemoveNewline(expectedTwo), RemoveNewline(xmlTwo));
                env.UndeployModuleContaining("s0");

                // try the same Map only undeclared
                var beanThree = new SupportBeanRendererThree();
                beanThree.StringObjectMap = otherMap;
                env.CompileDeploy("@Name('s0') select * from SupportBeanRendererThree");
                env.SendEventBean(beanThree);
                json = env.Runtime.RenderEventService.RenderJSON("MyEvent", env.GetEnumerator("s0").Advance());
                Assert.AreEqual(RemoveNewline(expectedJson), RemoveNewline(json));

                env.UndeployAll();
            }