public function testCreateFromString_02() { $n = new SWNode('node1', 'w1'); $this->assertEquals($n->getId(), 'node1'); $this->assertEquals($n->getLabel(), $n->getId()); $this->assertEquals($n->getWorkflowId(), 'w1'); }
/** * @param array $wf workflow definition * @param string $wfId workflow Id */ private function _createWorkflow($wf, $wfId) { if (!is_array($wf) or empty($wfId)) { throw new SWException(Yii::t('simpleWorkflow', 'invalid argument')); } $wfDefinition = array(); if (!isset($wf['initial'])) { throw new SWException(Yii::t('simpleWorkflow', 'missing initial status for workflow {workflow}', array('{workflow}' => $wfId)), SWException::SW_ERR_IN_WORKFLOW); } // load node list foreach ($wf['node'] as $rnode) { $node = new SWNode($rnode, $wfId); $wfDefinition[$node->getId()] = $node; if ($node->getId() == $wf['initial']) { $wfDefinition['swInitialNode'] = $node; } } // checks that initialnode is set if (!isset($wfDefinition['swInitialNode'])) { throw new SWException(Yii::t('simpleWorkflow', 'missing initial status for workflow {workflow}', array('{workflow}' => $wfId)), SWException::SW_ERR_IN_WORKFLOW); } return $wfDefinition; }
public function testCreateFromString_06() { $n = new SWNode('node1_aaa', 'w1'); $this->assertEquals($n->getId(), 'node1_aaa'); $this->assertEquals($n->getWorkflowId(), 'w1'); $n = new SWNode('workflow_test/node1_aaa'); $this->assertEquals($n->getId(), 'node1_aaa'); $this->assertEquals($n->getWorkflowId(), 'workflow_test'); }
/** * @param array $wf workflow definition * @param string $wfId workflow Id */ private function _createWorkflow($wf, $wfId) { if (!is_array($wf) || empty($wfId)) { throw new SWException('invalid argument'); } $wfDefinition = array(); if (!isset($wf['initial'])) { throw new SWException('missing initial status for workflow : ' . $wfId, SWException::SW_ERR_IN_WORKFLOW); } // load node list $nodeIds = array(); foreach ($wf['node'] as $rnode) { $node = new SWNode($rnode, $wfId); if (in_array($node->getId(), $nodeIds)) { throw new SWException('duplicate node id : ' . $node->getId(), SWException::SW_ERR_IN_WORKFLOW); } else { $nodeIds[] = $node->getId(); } $wfDefinition[$node->getId()] = $node; if ($node->getId() == $wf['initial'] || $node->toString() == $wf['initial']) { $wfDefinition['swInitialNode'] = $node; } } // checks that initialnode is set if (!isset($wfDefinition['swInitialNode'])) { throw new SWException('missing initial status for workflow : ' . $wfId, SWException::SW_ERR_IN_WORKFLOW); } return $wfDefinition; }