Ejemplo n.º 1
0
 public override void RemoveMatch(ISet<EventBean> matchEvent)
 {
     if (PatternConsumptionUtil.ContainsEvent(matchEvent, eventObserver.BeginState)) {
         Quit();
         var agentInstanceContext = evalObserverNode.Context.AgentInstanceContext;
         agentInstanceContext.AuditProvider.PatternFalse(
             evalObserverNode.FactoryNode,
             this,
             agentInstanceContext);
         ParentEvaluator.EvaluateFalse(this, true);
     }
 }
 public override void RemoveMatch(ISet<EventBean> matchEvent)
 {
     if (PatternConsumptionUtil.ContainsEvent(matchEvent, beginState)) {
         Quit();
         var agentInstanceContext = everyNode.Context.AgentInstanceContext;
         agentInstanceContext.AuditProvider.PatternFalse(everyNode.FactoryNode, this, agentInstanceContext);
         ParentEvaluator.EvaluateFalse(this, true);
     }
     else {
         PatternConsumptionUtil.ChildNodeRemoveMatches(matchEvent, spawnedNodes.Keys);
     }
 }
Ejemplo n.º 3
0
        public override void RemoveMatch(ISet<EventBean> matchEvent)
        {
            if (!_isStarted) {
                return;
            }

            if (PatternConsumptionUtil.ContainsEvent(matchEvent, _beginState)) {
                Quit();
                var agentInstanceContext = _evalFilterNode.Context.AgentInstanceContext;
                agentInstanceContext.AuditProvider.PatternFalse(_evalFilterNode.FactoryNode, this, agentInstanceContext);
                ParentEvaluator.EvaluateFalse(this, true);
            }
        }
Ejemplo n.º 4
0
        public override void RemoveMatch(ISet<EventBean> matchEvent)
        {
            var quit = false;
            if (eventsPerChild != null) {
                foreach (var entry in eventsPerChild) {
                    if (entry is MatchedEventMap) {
                        quit = PatternConsumptionUtil.ContainsEvent(matchEvent, (MatchedEventMap) entry);
                    }
                    else if (entry != null) {
                        var list = (IList<MatchedEventMap>) entry;
                        foreach (var map in list) {
                            quit = PatternConsumptionUtil.ContainsEvent(matchEvent, map);
                            if (quit) {
                                break;
                            }
                        }
                    }

                    if (quit) {
                        break;
                    }
                }
            }

            if (!quit && activeChildNodes != null) {
                foreach (var child in activeChildNodes) {
                    child?.RemoveMatch(matchEvent);
                }
            }

            if (quit) {
                Quit();
                var agentInstanceContext = evalAndNode.Context.AgentInstanceContext;
                agentInstanceContext.AuditProvider.PatternFalse(evalAndNode.FactoryNode, this, agentInstanceContext);
                ParentEvaluator.EvaluateFalse(this, true);
            }
        }
Ejemplo n.º 5
0
        public override void RemoveMatch(ISet<EventBean> matchEvent)
        {
            bool quit = PatternConsumptionUtil.ContainsEvent(matchEvent, beginState);
            if (!quit) {
                foreach (List<EventBean> list in matchedEventArrays) {
                    if (list == null) {
                        continue;
                    }

                    foreach (EventBean @event in list) {
                        if (matchEvent.Contains(@event)) {
                            quit = true;
                            break;
                        }
                    }

                    if (quit) {
                        break;
                    }
                }
            }

            if (quit) {
                Quit();
                AgentInstanceContext agentInstanceContext = evalMatchUntilNode.Context.AgentInstanceContext;
                agentInstanceContext.AuditProvider.PatternFalse(
                    evalMatchUntilNode.FactoryNode,
                    this,
                    agentInstanceContext);
                ParentEvaluator.EvaluateFalse(this, true);
            }
            else {
                stateMatcher?.RemoveMatch(matchEvent);
                stateUntil?.RemoveMatch(matchEvent);
            }
        }
Ejemplo n.º 6
0
 public override void RemoveMatch(ISet<EventBean> matchEvent)
 {
     PatternConsumptionUtil.ChildNodeRemoveMatches(matchEvent, nodes.Keys);
 }