/** * @inheritDoc */ public boolean isRuleActiveInRuleFlowGroup(String ruleflowGroupName, String ruleName, long processInstanceId) { RuleFlowGroup systemRuleFlowGroup = this.getRuleFlowGroup( ruleflowGroupName ); for (ActivationNode aSystemRuleFlowGroup : systemRuleFlowGroup) { Activation activation = aSystemRuleFlowGroup.getActivation(); if (ruleName.equals(activation.getRule().getName())) { if (checkProcessInstance(activation, processInstanceId)) { return true; } } } return false; }
public Activation[] getActivations() { Activation[] activations = new Activation[ list.size() ]; final Iterator<ActivationNode> it = this.list.iterator(); int i = 0; for ( ActivationNode node = it.next(); node != null; node = it.next() ) { activations[i++] = node.getActivation(); } return activations; }
private void triggerActivations() { // iterate all activations adding them to their AgendaGroups final Iterator<ActivationNode> it = this.list.iterator(); for ( ActivationNode node = it.next(); node != null; node = it.next() ) { final Activation activation = node.getActivation(); ((InternalAgendaGroup) activation.getAgendaGroup()).add( activation ); } // making sure we re-evaluate agenda in case we are waiting for activations ((InternalAgenda) workingMemory.getAgenda()).notifyHalt(); }
public void clearAndCancelAndCancel(final RuleFlowGroup ruleFlowGroup) { final EventSupport eventsupport = (EventSupport) this.workingMemory; for (ActivationNode node : ruleFlowGroup) { AgendaItem item = (AgendaItem) node.getActivation(); if (item != null) { item.setActivated(false); item.remove(); if (item.getActivationGroupNode() != null) { item.getActivationGroupNode().getActivationGroup().removeActivation(item); } } eventsupport.getAgendaEventSupport().fireActivationCancelled( item, this.workingMemory, ActivationCancelledCause.CLEAR ); } ruleFlowGroup.clear(); if ( ruleFlowGroup.isActive() && ruleFlowGroup.isAutoDeactivate() ) { // deactivate callback WorkingMemoryAction action = new DeactivateCallback( (InternalRuleFlowGroup) ruleFlowGroup ); this.workingMemory.queueWorkingMemoryAction( action ); } }
final Iterator<ActivationNode> it = this.list.iterator(); for ( ActivationNode node = it.next(); node != null; node = it.next() ) { final Activation activation = node.getActivation(); activation.remove(); if ( activation.getActivationGroupNode() != null ) {