コード例 #1
0
ファイル: ExcludePlanHint.cs プロジェクト: qianqian888/nesper
        public bool Filter(int streamLookup, int streamIndexed, ExcludePlanFilterOperatorType opType, params ExprNode[] exprNodes)
        {
            EventBean @event = ExcludePlanHintExprUtil.ToEvent(streamLookup,
                                                               streamIndexed, _streamNames[streamLookup], _streamNames[streamIndexed],
                                                               opType.GetName().ToLower(), exprNodes);

            if (_queryPlanLogging && QueryPlanLog.IsInfoEnabled)
            {
                QueryPlanLog.Info("Exclude-plan-hint combination " + EventBeanUtility.PrintEvent(@event));
            }
            EventBean[] eventsPerStream = new EventBean[] { @event };

            var evaluateParams = new EvaluateParams(eventsPerStream, true, _exprEvaluatorContext);

            foreach (ExprEvaluator evaluator in _evaluators)
            {
                var pass = evaluator.Evaluate(evaluateParams);
                if (pass != null && true.Equals(pass))
                {
                    if (_queryPlanLogging && QueryPlanLog.IsInfoEnabled)
                    {
                        QueryPlanLog.Info("Exclude-plan-hint combination : true");
                    }
                    return(true);
                }
            }
            if (_queryPlanLogging && QueryPlanLog.IsInfoEnabled)
            {
                QueryPlanLog.Info("Exclude-plan-hint combination : false");
            }
            return(false);
        }
コード例 #2
0
        private void PrintList(EventBean[] events)
        {
            if (events == null) {
                log.Debug(".printList : null-value events array");
                return;
            }

            log.Debug(".printList : " + events.Length + " elements...");
            for (var i = 0; i < events.Length; i++) {
                log.Debug("  " + EventBeanUtility.PrintEvent(events[i]));
            }
        }
コード例 #3
0
ファイル: SupportEvalRunner.cs プロジェクト: lanicon/nesper
        private static void RunEPLAssertion(
            int assertionNumber,
            string eventType,
            RegressionEnvironment env,
            SupportEvalAssertionPair assertion,
            SupportEvalBuilder builder)
        {
            if (assertion.Underlying is IDictionary <string, object> )
            {
                var underlying = (IDictionary <string, object>)assertion.Underlying;
                env.SendEventMap(underlying, eventType);
                if (builder.IsLogging)
                {
                    Log.Info("Sending event: " + underlying);
                }
            }
            else
            {
                env.SendEventBean(assertion.Underlying);
                if (builder.IsLogging)
                {
                    Log.Info("Sending event: " + assertion.Underlying);
                }
            }

            var @event = env.Listener("s0").AssertOneGetNewAndReset();

            if (builder.IsLogging)
            {
                Log.Info("Received event: " + EventBeanUtility.PrintEvent(@event));
            }

            foreach (var expected in assertion.Builder.Results)
            {
                var name = expected.Key;
                if (builder.ExcludeNamesExcept != null && !builder.ExcludeNamesExcept.Equals(name))
                {
                    continue;
                }

                var actual = @event.Get(name);
                DoAssert(true, assertionNumber, expected.Key, expected.Value, actual);
            }
        }
コード例 #4
0
        public bool Filter(
            int streamLookup,
            int streamIndexed,
            ExcludePlanFilterOperatorType opType,
            params ExprNode[] exprNodes)
        {
            EventBean @event = ExcludePlanHintExprUtil.ToEvent(
                streamLookup,
                streamIndexed,
                streamNames[streamLookup],
                streamNames[streamIndexed],
                opType.GetName().ToLowerInvariant(),
                exprNodes);
            if (queryPlanLogging && QUERY_PLAN_LOG.IsInfoEnabled) {
                QUERY_PLAN_LOG.Info("Exclude-plan-hint combination " + EventBeanUtility.PrintEvent(@event));
            }

            EventBean[] eventsPerStream = new EventBean[] {@event};

            foreach (ExprEvaluator evaluator in evaluators) {
                var pass = evaluator.Evaluate(eventsPerStream, true, null);
                if (pass != null && true.Equals(pass)) {
                    if (queryPlanLogging && QUERY_PLAN_LOG.IsInfoEnabled) {
                        QUERY_PLAN_LOG.Info("Exclude-plan-hint combination : true");
                    }

                    return true;
                }
            }

            if (queryPlanLogging && QUERY_PLAN_LOG.IsInfoEnabled) {
                QUERY_PLAN_LOG.Info("Exclude-plan-hint combination : false");
            }

            return false;
        }