public void Run(RegressionEnvironment env) { var path = new RegressionPath(); env.CompileDeploy("create schema SomeType ()", path); env.CompileDeploy( "@Name('flow') create dataflow MyDataFlowOne MyOp -> outstream<SomeType> {propOne:'abc', propThree:'xyz'}", path); var options = new EPDataFlowInstantiationOptions(); var myParameterProvider = new MyParameterProvider(Collections.SingletonDataMap("propTwo", "def")); options.WithParameterProvider(myParameterProvider); env.Runtime.DataFlowService.Instantiate(env.DeploymentId("flow"), "MyDataFlowOne", options); var myOp = MyOp.GetAndClearInstances()[0]; Assert.AreEqual("abc", myOp.PropOne); Assert.AreEqual("def", myOp.PropTwo); Assert.AreEqual(3, myParameterProvider.contextMap.Count); Assert.IsNotNull(myParameterProvider.contextMap.Get("propOne")); var context = myParameterProvider.contextMap.Get("propTwo"); Assert.AreEqual("propTwo", context.ParameterName); Assert.AreEqual("MyOp", context.OperatorName); Assert.AreSame(myOp.Factory, context.Factory); Assert.AreEqual(0, context.OperatorNum); Assert.AreEqual("MyDataFlowOne", context.DataFlowName); context = myParameterProvider.contextMap.Get("propThree"); Assert.AreEqual("propThree", context.ParameterName); Assert.AreEqual("MyOp", context.OperatorName); Assert.AreSame(myOp.Factory, context.Factory); Assert.AreEqual(0, context.OperatorNum); env.UndeployAll(); }
private void RunAssertionParameterInjectionCallback(EPServiceProvider epService) { epService.EPAdministrator.CreateEPL("create schema SomeType ()"); epService.EPAdministrator.CreateEPL("create dataflow MyDataFlowOne MyOp -> outstream<SomeType> {propOne:'abc', propThree:'xyz'}"); var myOp = new MyOp("myid"); var options = new EPDataFlowInstantiationOptions(); options.OperatorProvider(new DefaultSupportGraphOpProvider(myOp)); var myParameterProvider = new MyParameterProvider(Collections.SingletonDataMap("propTwo", "def")); options.ParameterProvider(myParameterProvider); Assert.AreEqual("myid", myOp.Id); Assert.IsNull(myOp.PropOne); Assert.IsNull(myOp.PropTwo); epService.EPRuntime.DataFlowRuntime.Instantiate("MyDataFlowOne", options); Assert.AreEqual("abc", myOp.PropOne); Assert.AreEqual("def", myOp.PropTwo); Assert.AreEqual(3, myParameterProvider.ContextMap.Count); Assert.IsNotNull(myParameterProvider.ContextMap.Get("propOne")); EPDataFlowOperatorParameterProviderContext context = myParameterProvider.ContextMap.Get("propTwo"); Assert.AreEqual("propTwo", context.ParameterName); Assert.AreEqual("MyOp", context.OperatorName); Assert.AreSame(myOp, context.OperatorInstance); Assert.AreEqual(0, context.OperatorNum); Assert.AreEqual(null, context.ProvidedValue); Assert.AreEqual("MyDataFlowOne", context.DataFlowName); context = myParameterProvider.ContextMap.Get("propThree"); Assert.AreEqual("propThree", context.ParameterName); Assert.AreEqual("MyOp", context.OperatorName); Assert.AreSame(myOp, context.OperatorInstance); Assert.AreEqual(0, context.OperatorNum); Assert.AreEqual("xyz", context.ProvidedValue); epService.EPAdministrator.DestroyAllStatements(); }