コード例 #1
0
        public object Provide(EPDataFlowOperatorProviderContext context)
        {
            foreach (object op in ops) {
                if (context.OperatorName.Equals(op.GetType().Name)) {
                    return op;
                }
            }

            return null;
        }
コード例 #2
0
        public Object Provide(EPDataFlowOperatorProviderContext context)
        {
            for (var ii = 0; ii < _ops.Length; ii++)
            {
                if (context.OperatorName == _ops[ii].GetType().Name)
                {
                    return(_ops[ii]);
                }
            }

            return(null);
        }
コード例 #3
0
        public void TestOperatorInjectionCallback()
        {
            _epService.EPAdministrator.CreateEPL("create dataflow MyDataFlowOne MyOp -> outstream<SomeType> {propOne:'abc', propThree:'xyz'}");

            var myOperatorProvider = new MyOperatorProvider();
            var options            = new EPDataFlowInstantiationOptions();

            options.OperatorProvider(myOperatorProvider);

            _epService.EPRuntime.DataFlowRuntime.Instantiate("MyDataFlowOne", options);

            Assert.AreEqual(1, myOperatorProvider.ContextMap.Count);
            EPDataFlowOperatorProviderContext context = myOperatorProvider.ContextMap.Get("MyOp");

            Assert.AreEqual("MyOp", context.OperatorName);
            Assert.NotNull(context.Spec);
            Assert.AreEqual("MyDataFlowOne", context.DataFlowName);
        }
コード例 #4
0
        public object Provide(EPDataFlowOperatorProviderContext context)
        {
            if (names.ContainsKey(context.OperatorName)) {
                return names.Get(context.OperatorName);
            }

            if (context.Factory is DefaultSupportSourceOpFactory sourceOpFactory) {
                if (sourceOpFactory.Name != null && names.ContainsKey(sourceOpFactory.Name)) {
                    return names.Get(sourceOpFactory.Name);
                }
            }

            if (context.Factory is DefaultSupportCaptureOpFactory<object> captureOpFactory) {
                if (captureOpFactory.Name != null && names.ContainsKey(captureOpFactory.Name)) {
                    return names.Get(captureOpFactory.Name);
                }
            }

            return null;
        }
コード例 #5
0
        private void RunAssertionOperatorInjectionCallback(EPServiceProvider epService)
        {
            epService.EPAdministrator.CreateEPL("create schema SomeType ()");
            epService.EPAdministrator.CreateEPL("create dataflow MyDataFlowOne MyOp -> outstream<SomeType> {propOne:'abc', propThree:'xyz'}");

            var myOperatorProvider = new MyOperatorProvider();
            var options            = new EPDataFlowInstantiationOptions();

            options.OperatorProvider(myOperatorProvider);

            epService.EPRuntime.DataFlowRuntime.Instantiate("MyDataFlowOne", options);

            Assert.AreEqual(1, myOperatorProvider.ContextMap.Count);
            EPDataFlowOperatorProviderContext context = myOperatorProvider.ContextMap.Get("MyOp");

            Assert.AreEqual("MyOp", context.OperatorName);
            Assert.IsNotNull(context.Spec);
            Assert.AreEqual("MyDataFlowOne", context.DataFlowName);

            epService.EPAdministrator.DestroyAllStatements();
        }
コード例 #6
0
 public Object Provide(EPDataFlowOperatorProviderContext context)
 {
     return(_names.Get(context.OperatorName));
 }
コード例 #7
0
 public Object Provide(EPDataFlowOperatorProviderContext context)
 {
     return(_ops.FirstOrDefault(op => context.OperatorName == op.GetType().Name));
 }
コード例 #8
0
 public Object Provide(EPDataFlowOperatorProviderContext context)
 {
     _contextMap.Put(context.OperatorName, context);
     return(new MyOp("test"));
 }