Пример #1
0
 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);
 }
Пример #2
0
 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);
 }