コード例 #1
0
ファイル: ReteAgenda.java プロジェクト: chearius/drools
 private void innerDeactiveRuleFlowGroup(InternalRuleFlowGroup group) {
   group.hasRuleFlowListener(false);
   group.getNodeInstances().clear();
   ((EventSupport) this.workingMemory)
       .getAgendaEventSupport()
       .fireAfterRuleFlowGroupDeactivated(group, this.workingMemory);
 }
コード例 #2
0
ファイル: ReteAgenda.java プロジェクト: chearius/drools
 public void deactivateRuleFlowGroup(final InternalRuleFlowGroup group) {
   if (!group.isRuleFlowListener()) {
     return;
   }
   ((EventSupport) this.workingMemory)
       .getAgendaEventSupport()
       .fireBeforeRuleFlowGroupDeactivated(group, this.workingMemory);
   while (this.focusStack.remove(group)) ; // keep removing while group is on the stack
   group.setActive(false);
   innerDeactiveRuleFlowGroup(group);
 }
コード例 #3
0
ファイル: ReteAgenda.java プロジェクト: chearius/drools
 public void activateRuleFlowGroup(
     final InternalRuleFlowGroup group, long processInstanceId, String nodeInstanceId) {
   ((EventSupport) this.workingMemory)
       .getAgendaEventSupport()
       .fireBeforeRuleFlowGroupActivated(group, this.workingMemory);
   group.setActive(true);
   group.hasRuleFlowListener(true);
   if (!StringUtils.isEmpty(nodeInstanceId)) {
     group.addNodeInstance(processInstanceId, nodeInstanceId);
     group.setActive(true);
   }
   setFocus((InternalAgendaGroup) group);
   ((EventSupport) this.workingMemory)
       .getAgendaEventSupport()
       .fireAfterRuleFlowGroupActivated(group, this.workingMemory);
 }