Search in sources :

Example 1 with InternalActivationGroup

use of org.drools.core.spi.InternalActivationGroup in project drools by kiegroup.

the class DefaultAgenda method clear.

public void clear() {
    // reset focus stack
    clearFocusStack();
    this.focusStack.add(this.mainAgendaGroup);
    // reset all agenda groups
    for (InternalAgendaGroup group : this.agendaGroups.values()) {
        // preserve lazy items.
        group.setClearedForRecency(this.workingMemory.getFactHandleFactory().getRecency());
        group.reset();
    }
    // reset all activation groups.
    for (InternalActivationGroup group : this.activationGroups.values()) {
        group.setTriggeredForRecency(this.workingMemory.getFactHandleFactory().getRecency());
        group.reset();
    }
    propagationList.reset();
}
Also used : InternalActivationGroup(org.drools.core.spi.InternalActivationGroup)

Example 2 with InternalActivationGroup

use of org.drools.core.spi.InternalActivationGroup in project drools by kiegroup.

the class DefaultAgenda method reset.

public void reset() {
    // reset focus stack
    clearFocusStack();
    this.focusStack.add(this.mainAgendaGroup);
    // reset all agenda groups
    for (InternalAgendaGroup group : this.agendaGroups.values()) {
        group.reset();
    }
    // reset all activation groups.
    for (InternalActivationGroup group : this.activationGroups.values()) {
        group.setTriggeredForRecency(this.workingMemory.getFactHandleFactory().getRecency());
        group.reset();
    }
    eager.clear();
    activationCounter = 0;
    executionStateMachine.reset();
    propagationList.reset();
}
Also used : InternalActivationGroup(org.drools.core.spi.InternalActivationGroup)

Example 3 with InternalActivationGroup

use of org.drools.core.spi.InternalActivationGroup in project drools by kiegroup.

the class DefaultAgenda method reset.

@Override
public void reset() {
    agendaGroupsManager.reset(false);
    // reset all activation groups.
    for (InternalActivationGroup group : this.activationGroups.values()) {
        group.setTriggeredForRecency(this.workingMemory.getFactHandleFactory().getRecency());
        group.reset();
    }
    eager.clear();
    activationCounter = 0;
    executionStateMachine.reset();
    propagationList.reset();
}
Also used : InternalActivationGroup(org.drools.core.spi.InternalActivationGroup)

Example 4 with InternalActivationGroup

use of org.drools.core.spi.InternalActivationGroup in project drools by kiegroup.

the class DefaultAgenda method addItemToActivationGroup.

@Override
public void addItemToActivationGroup(final AgendaItem activation) {
    if (activation.isRuleAgendaItem()) {
        throw new UnsupportedOperationException("defensive programming, making sure this isn't called, before removing");
    }
    String group = activation.getRule().getActivationGroup();
    if (!StringUtils.isEmpty(group)) {
        InternalActivationGroup actgroup = getActivationGroup(group);
        // Don't allow lazy activations to activate, from before it's last trigger point
        if (actgroup.getTriggeredForRecency() != 0 && actgroup.getTriggeredForRecency() >= activation.getPropagationContext().getFactHandle().getRecency()) {
            return;
        }
        actgroup.addActivation(activation);
    }
}
Also used : InternalActivationGroup(org.drools.core.spi.InternalActivationGroup)

Example 5 with InternalActivationGroup

use of org.drools.core.spi.InternalActivationGroup in project drools by kiegroup.

the class DefaultAgenda method clear.

@Override
public void clear() {
    agendaGroupsManager.reset(true);
    // reset all activation groups.
    for (InternalActivationGroup group : this.activationGroups.values()) {
        group.setTriggeredForRecency(this.workingMemory.getFactHandleFactory().getRecency());
        group.reset();
    }
    propagationList.reset();
}
Also used : InternalActivationGroup(org.drools.core.spi.InternalActivationGroup)

Aggregations

InternalActivationGroup (org.drools.core.spi.InternalActivationGroup)9 EventFactHandle (org.drools.core.common.EventFactHandle)2 RuleTerminalNodeLeftTuple (org.drools.core.reteoo.RuleTerminalNodeLeftTuple)2 Tuple (org.drools.core.spi.Tuple)2 ActivationGroupImpl (org.drools.core.common.ActivationGroupImpl)1 BeforeMatchFiredEvent (org.kie.api.event.rule.BeforeMatchFiredEvent)1