private void RunAssertion(EPServiceProvider epService, string typename, FunctionSendEvent send, object underlying) { RunAssertionTypeValidProp(epService, typename, underlying); RunAssertionTypeInvalidProp(epService, typename); string stmtText = "select * from " + typename; EPStatement stmt = epService.EPAdministrator.CreateEPL(stmtText); var listener = new SupportUpdateListener(); stmt.Events += listener.Update; send.Invoke(epService, underlying); EventBean @event = listener.AssertOneGetNewAndReset(); EventPropertyGetterMapped mappedGetter = @event.EventType.GetGetterMapped("mapped"); Assert.AreEqual("v1", mappedGetter.Get(@event, "k1")); EventPropertyGetterIndexed indexedGetter = @event.EventType.GetGetterIndexed("indexed"); Assert.AreEqual("v2", indexedGetter.Get(@event, 1)); RunAssertionEventInvalidProp(@event); SupportEventTypeAssertionUtil.AssertConsistency(@event); stmt.Dispose(); }
public object Evaluate(EvaluateParams evaluateParams) { var key = (String)_paramEval.Evaluate(evaluateParams); var eventInQuestion = evaluateParams.EventsPerStream[_streamId]; return(eventInQuestion == null ? null : _mappedGetter.Get(eventInQuestion, key)); }
public override Object Evaluate(EvaluateParams evaluateParams) { var eventInQuestion = evaluateParams.EventsPerStream[StreamNum]; if (eventInQuestion == null) { return(null); } var result = ExprEvaluator.Evaluate(evaluateParams); if (result != null && (!(result is String))) { Log.Warn(GetWarningText("string", result)); return(null); } return(_mappedGetter.Get(eventInQuestion, (String)result)); }
public EventPropertyGetterMapped GetGetterMapped(String mappedProperty) { EventPropertyGetterMapped undMapped = _underlyingEventType.GetGetterMapped(mappedProperty); if (undMapped != null) { return(new ProxyEventPropertyGetterMapped { ProcGet = (theEvent, mapKey) => { if (!(theEvent is DecoratingEventBean)) { throw new PropertyAccessException("Mismatched property getter to EventBean type"); } var wrapperEvent = (DecoratingEventBean)theEvent; var wrappedEvent = wrapperEvent.UnderlyingEvent; return wrappedEvent == null ? null : undMapped.Get(wrappedEvent, mapKey); } }); } EventPropertyGetterMapped decoMapped = _underlyingMapType.GetGetterMapped(mappedProperty); if (decoMapped != null) { return(new ProxyEventPropertyGetterMapped { ProcGet = (theEvent, mapKey) => { if (!(theEvent is DecoratingEventBean)) { throw new PropertyAccessException("Mismatched property getter to EventBean type"); } var wrapperEvent = (DecoratingEventBean)theEvent; var map = wrapperEvent.DecoratingProperties; return decoMapped.Get(_eventAdapterService.AdapterForTypedMap(map, _underlyingMapType), mapKey); } }); } return(null); }