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); } } }
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)); }
/// <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); }
/// <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); }
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); }
/// <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); }
public virtual void Visit(FilterExpr expr) { }
public override void Visit(FilterExpr expr) => _needsAsync = true;
private XPathExpr make_xpathexpr(PrimaryExpr pex) { FilterExpr fe = new FilterExpr(pex, new List <Expr>()); return(new XPathExpr(0, false, fe)); }