Example #1
0
        public override void Evaluate(
            EventBean[] eventsPerStream,
            ICollection <EventBean> matchingEvents,
            ExprEvaluatorContext exprEvaluatorContext)
        {
            AggregationService.ClearResults(exprEvaluatorContext);
            if (matchingEvents == null)
            {
                return;
            }

            var events = new EventBean[eventsPerStream.Length + 1];

            Array.Copy(eventsPerStream, 0, events, 1, eventsPerStream.Length);

            var evaluateParams = new EvaluateParams(events, true, exprEvaluatorContext);

            foreach (EventBean subselectEvent in matchingEvents)
            {
                events[0] = subselectEvent;
                var pass = (bool?)FilterExpr.Evaluate(evaluateParams);
                if (pass ?? false)
                {
                    AggregationService.ApplyEnter(events, null, exprEvaluatorContext);
                }
            }
        }
Example #2
0
        private XPathExpr make_function(QName name, ICollection <Expr> args)
        {
            FunctionCall fc = new FunctionCall(name, args);
            FilterExpr   fe = new FilterExpr(fc, new List <Expr>());

            return(new XPathExpr(0, false, fe));
        }
Example #3
0
 /// <param name="e">
 ///            is the filter expression. </param>
 /// <returns> e </returns>
 public virtual object visit(FilterExpr e)
 {
     e.primary().accept(this);
     for (IEnumerator <Expr> i = e.iterator(); i.MoveNext();)
     {
         i.Current.accept(this);
     }
     return(e);
 }
Example #4
0
        /// <param name="e">
        ///            is the filter expression. </param>
        /// <returns> e </returns>
        public virtual object visit(FilterExpr e)
        {
            PrimaryExpr pe = (PrimaryExpr)e.primary().accept(this);

            e.set_primary(pe);

            printCollExprs(e.GetEnumerator());
            return(e);
        }
Example #5
0
        public override Object Evaluate(EventBean[] eventsPerStream, bool isNewData, ICollection <EventBean> matchingEvents, ExprEvaluatorContext exprEvaluatorContext)
        {
            if (matchingEvents == null)
            {
                return(false);
            }
            if (matchingEvents.Count == 0)
            {
                return(false);
            }

            if (FilterExpr == null)
            {
                return(true);
            }

            // Evaluate filter
            var events         = new EventBean[eventsPerStream.Length + 1];
            var evaluateParams = new EvaluateParams(events, true, exprEvaluatorContext);

            Array.Copy(eventsPerStream, 0, events, 1, eventsPerStream.Length);

            foreach (var subselectEvent in matchingEvents)
            {
                // Prepare filter expression event list
                events[0] = subselectEvent;

                var pass = (bool?)FilterExpr.Evaluate(evaluateParams);
                if ((pass != null) && (pass.Value))
                {
                    return(true);
                }
            }

            return(false);
        }
Example #6
0
 /// <summary>
 /// Validate a filter expression.
 /// </summary>
 /// <param name="e">
 ///            is the expression. </param>
 /// <returns> null. </returns>
 public virtual object visit(FilterExpr e)
 {
     e.primary().accept(this);
     visitCollExprs(e.GetEnumerator());
     return(null);
 }
Example #7
0
 public virtual void Visit(FilterExpr expr)
 {
 }
Example #8
0
 public override void Visit(FilterExpr expr) => _needsAsync     = true;
Example #9
0
        private XPathExpr make_xpathexpr(PrimaryExpr pex)
        {
            FilterExpr fe = new FilterExpr(pex, new List <Expr>());

            return(new XPathExpr(0, false, fe));
        }