public function handleDoneStep(Ezer_StepInstance &$step_instance)
 {
     $targets = $step_instance->getOutFlows();
     if (!count($targets)) {
         return;
     }
     foreach ($targets as $target) {
         $target_instance = $this->getStepInstance($target->getName());
         if (!$target_instance->isDone()) {
             $target_instance->flow($step_instance->getStepId());
         }
     }
 }
 public function start()
 {
     parent::start();
     if ($this->execute()) {
         $this->done();
     } else {
         $this->retry();
     }
 }
 public function start()
 {
     parent::start();
     foreach ($this->step->steps as &$step) {
         $step_instance =& $step->createInstance($this->scope_instance);
         $this->step_instances[] =& $step_instance;
         if (count($step->in_flows)) {
             continue;
         }
         $step_instance->flow();
     }
 }
 /**
  * Starts the step
  */
 public function start()
 {
     parent::start();
     if ($this->step) {
         foreach ($this->step->steps as &$step) {
             $step_instance =& $step->createInstance($this->scope_instance);
             $this->step_instances[] =& $step_instance;
         }
     }
     foreach ($this->step_instances as &$step_instance) {
         if (!$step_instance->getInFlowsCount()) {
             $step_instance->flow();
         }
     }
 }
예제 #5
0
 public function addVariable($to, $value)
 {
     if ($this->step_instance) {
         return $this->step_instance->addVariable($to, $value);
     }
     return false;
 }
 public function handleSynchronousStep(Ezer_BusinessProcessServerTask $task, Ezer_StepInstance $step_instance)
 {
     $step_instance->start();
     if ($step_instance->isDone()) {
         $this->taskDone($task);
     }
     return true;
 }