예제 #1
0
        public static IEnumerator <EventBean> New(
            IEnumerable <EventBean> source,
            ResultSetProcessorAggregateAll resultSetProcessor,
            ExprEvaluatorContext exprEvaluatorContext)
        {
            var eventsPerStream     = new EventBean[1];
            var evaluateParams      = new EvaluateParams(eventsPerStream, true, exprEvaluatorContext);
            var optionHavingNode    = resultSetProcessor.OptionalHavingNode;
            var selectExprProcessor = resultSetProcessor.SelectExprProcessor;

            foreach (EventBean eventBean in source)
            {
                eventsPerStream[0] = eventBean;

                if (optionHavingNode != null)
                {
                    var pass = optionHavingNode.Evaluate(
                        evaluateParams);
                    if (false.Equals(pass))
                    {
                        continue;
                    }
                }

                yield return(selectExprProcessor.Process(
                                 eventsPerStream, true, true, exprEvaluatorContext));
            }
        }
예제 #2
0
 public ResultSetProcessorAggregateAllOutputLastHelper(ResultSetProcessorAggregateAll processor)
 {
     _processor = processor;
 }
예제 #3
0
 public ResultSetProcessorAggregateAllOutputAllHelperImpl(ResultSetProcessorAggregateAll processor)
 {
     this._processor = processor;
 }
 public ResultSetProcessorAggregateAllOutputAllHelper MakeRSAggregateAllOutputAll(ResultSetProcessorAggregateAll processor, AgentInstanceContext agentInstanceContext)
 {
     return(new ResultSetProcessorAggregateAllOutputAllHelperImpl(processor));
 }