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();
}
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();
}
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();
}
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);
}
}
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();
}
Aggregations