Пример #1
0
        public override void Apply(
            EventBean matchingEvent,
            EventBean[] eventsPerStream,
            TableStateInstance tableStateInstance,
            TableOnMergeViewChangeHandler changeHandlerAdded,
            TableOnMergeViewChangeHandler changeHandlerRemoved,
            ExprEvaluatorContext exprEvaluatorContext)
        {
            var theEvent = _insertHelper.Process(eventsPerStream, true, true, exprEvaluatorContext);

            if (_internalEventRouter == null)
            {
                var aggs = _tableStateRowFactory.MakeAggs(exprEvaluatorContext.AgentInstanceId, null, null, tableStateInstance.AggregationServicePassThru);
                ((object[])theEvent.Underlying)[0] = aggs;
                tableStateInstance.AddEvent(theEvent);
                if (changeHandlerAdded != null)
                {
                    changeHandlerAdded.Add(theEvent, eventsPerStream, true, exprEvaluatorContext);
                }
                return;
            }

            if (_audit)
            {
                AuditPath.AuditInsertInto(_internalEventRouteDest.EngineURI, _statementHandle.StatementName, theEvent);
            }
            _internalEventRouter.Route(theEvent, _statementHandle, _internalEventRouteDest, exprEvaluatorContext, false);
        }
Пример #2
0
        public void Apply(EventBean matchingEvent,
                          EventBean[] eventsPerStream,
                          TableStateInstance stateInstance,
                          TableOnMergeViewChangeHandler changeHandlerAdded,
                          TableOnMergeViewChangeHandler changeHandlerRemoved,
                          ExprEvaluatorContext context)
        {
            if (InstrumentationHelper.ENABLED)
            {
                InstrumentationHelper.Get().QInfraMergeWhenThenActions(actions.Count);
            }

            int count = -1;

            foreach (TableOnMergeAction action in actions)
            {
                count++;

                if (InstrumentationHelper.ENABLED)
                {
                    InstrumentationHelper.Get().QInfraMergeWhenThenActionItem(count, action.Name);
                    bool applies = action.IsApplies(eventsPerStream, context);
                    if (applies)
                    {
                        action.Apply(matchingEvent, eventsPerStream, stateInstance, changeHandlerAdded, changeHandlerRemoved, context);
                    }
                    InstrumentationHelper.Get().AInfraMergeWhenThenActionItem(applies);
                    continue;
                }

                if (action.IsApplies(eventsPerStream, context))
                {
                    action.Apply(matchingEvent, eventsPerStream, stateInstance, changeHandlerAdded, changeHandlerRemoved, context);
                }
            }
            if (InstrumentationHelper.ENABLED)
            {
                InstrumentationHelper.Get().AInfraMergeWhenThenActions();
            }
        }
Пример #3
0
 public override void Apply(EventBean matchingEvent, EventBean[] eventsPerStream, TableStateInstance tableStateInstance, TableOnMergeViewChangeHandler changeHandlerAdded, TableOnMergeViewChangeHandler changeHandlerRemoved, ExprEvaluatorContext exprEvaluatorContext)
 {
     if (changeHandlerRemoved != null)
     {
         changeHandlerRemoved.Add(matchingEvent, eventsPerStream, false, exprEvaluatorContext);
     }
     _tableUpdateStrategy.UpdateTable(Collections.SingletonList(matchingEvent), tableStateInstance, eventsPerStream, exprEvaluatorContext);
     if (changeHandlerAdded != null)
     {
         changeHandlerAdded.Add(matchingEvent, eventsPerStream, false, exprEvaluatorContext);
     }
 }
Пример #4
0
 public override void Apply(EventBean matchingEvent, EventBean[] eventsPerStream, TableStateInstance tableStateInstance, TableOnMergeViewChangeHandler changeHandlerAdded, TableOnMergeViewChangeHandler changeHandlerRemoved, ExprEvaluatorContext exprEvaluatorContext)
 {
     tableStateInstance.DeleteEvent(matchingEvent);
     if (changeHandlerRemoved != null)
     {
         changeHandlerRemoved.Add(matchingEvent, eventsPerStream, false, exprEvaluatorContext);
     }
 }
Пример #5
0
 public abstract void Apply(EventBean matchingEvent,
                            EventBean[] eventsPerStream,
                            TableStateInstance tableStateInstance,
                            TableOnMergeViewChangeHandler changeHandlerAdded,
                            TableOnMergeViewChangeHandler changeHandlerRemoved,
                            ExprEvaluatorContext exprEvaluatorContext);