Пример #1
0
        private bool CheckEvent(ExpressionWindowTimestampEventPair first, ExpressionWindowTimestampEventPair newest, int numExpired)
        {
            ExpressionViewOAFieldEnumExtensions.Populate(BuiltinEventProps.Properties, _window.Count, first.Timestamp, newest.Timestamp,
                                                         this, numExpired, first.TheEvent, newest.TheEvent);
            EventsPerStream[0] = first.TheEvent;

            foreach (AggregationServiceAggExpressionDesc aggregateNode in AggregateNodes)
            {
                aggregateNode.AssignFuture(AggregationService);
            }

            var result = ExpiryExpression.Evaluate(new EvaluateParams(EventsPerStream, true, AgentInstanceContext));

            if (result == null)
            {
                return(false);
            }
            return(true.Equals(result));
        }
Пример #2
0
        private bool EvaluateExpression(EventBean arriving, int windowSize)
        {
            ExpressionViewOAFieldEnumExtensions.Populate(BuiltinEventProps.Properties, windowSize, OldestEventTimestamp, NewestEventTimestamp, this, 0, OldestEvent, NewestEvent);
            EventsPerStream[0] = arriving;

            foreach (AggregationServiceAggExpressionDesc aggregateNode in AggregateNodes)
            {
                aggregateNode.AssignFuture(AggregationService);
            }

            var result = ExpiryExpression.Evaluate(new EvaluateParams(EventsPerStream, true, AgentInstanceContext));

            if (result == null)
            {
                return(false);
            }

            return(result.AsBoolean());
        }