public static function load(Ezer_StepContainer $stepContainer, Ezer_IntStepContainer $container) { $stepContainer->setName($container->getName()); $steps = $container->getSteps(); foreach ($steps as $step) { switch ($step->getType()) { case Ezer_IntStep::STEP_TYPE_SCOPE: $stepContainer->addStep(new Ezer_DbScope($step)); break; case Ezer_IntStep::STEP_TYPE_FLOW: $stepContainer->addStep(new Ezer_DbFlow($step)); break; case Ezer_IntStep::STEP_TYPE_SEQUENCE: $stepContainer->addStep(new Ezer_DbSequence($step)); break; case Ezer_IntStep::STEP_TYPE_ACTIVITY: $stepContainer->addStep(new Ezer_DbActivityStep($step)); break; case Ezer_IntStep::STEP_TYPE_ASSIGN: $stepContainer->addStep(new Ezer_DbAssignStep($step)); break; case Ezer_IntStep::STEP_TYPE_IF: if ($stepContainer instanceof Ezer_If) { $stepContainer->addElseIf(new Ezer_DbIf($step)); } else { $stepContainer->addStep(new Ezer_DbIf($step)); } break; case Ezer_IntStep::STEP_TYPE_ELSE: if ($stepContainer instanceof Ezer_If) { $stepContainer->setElse(new Ezer_DbElse($step)); } break; case Ezer_IntStep::STEP_TYPE_FOREACH: $stepContainer->addStep(new Ezer_DbForeach($step)); break; // case Ezer_IntStep::STEP_TYPE_REPEAT_UNTIL: // $stepContainer->addStep(new Ezer_DbRepeatUntil($step)); // break; // // case Ezer_IntStep::STEP_TYPE_WHILE: // $stepContainer->addStep(new Ezer_DbWhile($step)); // break; // // case Ezer_IntStep::STEP_TYPE_SWITCH: // $stepContainer->addStep(new Ezer_DbSwitch($step)); // break; // // case Ezer_IntStep::STEP_TYPE_EMPTY: // $stepContainer->addStep(new Ezer_DbEmpty($step)); // break; // // case Ezer_IntStep::STEP_TYPE_WAIT: // $stepContainer->addStep(new Ezer_DbWait($step)); // break; // // case Ezer_IntStep::STEP_TYPE_TERMINATE: // $stepContainer->addStep(new Ezer_DbTerminate($step)); // break; // // case Ezer_IntStep::STEP_TYPE_THROW: // $stepContainer->addStep(new Ezer_DbThrow($step)); // break; // // case Ezer_IntStep::STEP_TYPE_RETHROW: // $stepContainer->addStep(new Ezer_DbRethrow($step)); // break; } } }