public ViewableActivationResult Activate( AgentInstanceContext agentInstanceContext, bool isSubselect, bool isRecoveringResilient) { PatternAgentInstanceContext patternAgentInstanceContext = agentInstanceContext.StatementContext.PatternContextFactory.CreatePatternAgentContext( _patternContext, agentInstanceContext, _hasConsumingFilter); EvalRootNode rootNode = EvalNodeUtil.MakeRootNodeFromFactory(_rootFactoryNode, patternAgentInstanceContext); EventStream sourceEventStream = _isCanIterate ? (EventStream) new ZeroDepthStreamIterable(_eventType) : (EventStream) new ZeroDepthStreamNoIterate(_eventType); StatementContext statementContext = _patternContext.StatementContext; PatternMatchCallback callback = matchEvent => { EventBean compositeEvent = statementContext.EventAdapterService.AdapterForTypedMap( matchEvent, _eventType); sourceEventStream.Insert(compositeEvent); }; var rootState = (EvalRootState)rootNode.Start(callback, _patternContext, isRecoveringResilient); return(new ViewableActivationResult( sourceEventStream, rootState, null, rootState, rootState, _suppressSameEventMatches, _discardPartialsOnMatch, null)); }
public EvalRootState Start(PatternMatchCallback callback, PatternContext context, MatchedEventMap beginState, bool isRecoveringResilient) { return(StartInternal(callback, context, beginState, isRecoveringResilient)); }
public EvalRootState Start( PatternMatchCallback callback, PatternContext context, bool isRecoveringResilient) { MatchedEventMap beginState = new MatchedEventMapImpl(context.MatchedEventMapMeta); return StartInternal(callback, context, beginState, isRecoveringResilient); }
private EvalRootState StartInternal( PatternMatchCallback callback, PatternContext context, MatchedEventMap beginState, bool isRecoveringResilient) { if (beginState == null) { throw new ArgumentException("No pattern begin-state has been provided"); } var rootStateNode = NewState(null); var rootState = (EvalRootState) rootStateNode; rootState.Callback = callback; rootState.StartRecoverable(isRecoveringResilient, beginState); return rootState; }