Hi,
 
1) put try catch to have the error
2) try this :
 
//$branch->addConditionalOutNode(new
ezcWorkflowConditionIsTrue('choice'),$true);

$branch->addConditionalOutNode ( new ezcWorkflowConditionVariable (
'choice', new ezcWorkflowConditionIsTrue ( ) ), $true );

//$branch->addConditionalOutNode(new
ezcWorkflowConditionIsFalse('choice'),$false);

$branch->addConditionalOutNode ( new ezcWorkflowConditionVariable (
'choice', new ezcWorkflowConditionIsFalse ( ) ), $false );

 
Lydia

________________________________

Another newbie situation :-) I get an exception on resume(). It is noted
in following code as a comment. The classes PrintTrue and PrintFalse
exist, code also below. As expected, the workflow suspends ... waiting
for input. But when provided the input via resume(), it throws exception
... 

Understanding this will probably get me on the path to hvaing a clue :-)
Any help greatly appreciated.

<?php

require_once 'lib/ezComponents/Base/src/base.php ';

require_once 'lib/ezComponents/Database/src/factory.php ';

require_once 'PrintTrue.php';

require_once 'PrintFalse.php';

function __autoload ( $className )

{

ezcBase :: autoload ( $className );

}

$dbparams = array(

'type' => 'mysql',

'dbname' => 'wflow',

'user' => 'root',

'pass' => 'password' );

$workflow = new ezcWorkflow('Test');

$input = new ezcWorkflowNodeInput(array ('choice' => new
ezcWorkflowConditionIsBool));

$workflow->startNode->addOutNode($input);

$true = new ezcWorkflowNodeAction('PrintTrue');

$false = new ezcWorkflowNodeAction('PrintFalse');

$branch = new ezcWorkflowNodeExclusiveChoice();

$branch->addConditionalOutNode(new
ezcWorkflowConditionIsTrue('choice'),$true);

$branch->addConditionalOutNode(new
ezcWorkflowConditionIsFalse('choice'),$false);

$input->addOutNode($branch);

$merge = new ezcWorkflowNodeSimpleMerge();

$merge->addInNode($true)->addInNode($false)->addOutNode($workflow->endNo
de);

$db = ezcDbFactory::create($dbparams);

$definition = new ezcWorkflowDatabaseDefinitionStorage($db); 

$definition->save($workflow); 

$execute = new ezcWorkflowDatabaseExecution($db);

$execute->workflow = $workflow;

$executionId = $execute->start();

$execute = new ezcWorkflowDatabaseExecution($db, $executionId);

// Throws following exception at the resume() ... 

ezcWorkflowExecutionException: Node activates less conditional outgoing
nodes than required.

$execute->resume(array('choice' =>true));

______________________________________

*** PrintTrue class

?>

class PrintTrue implements ezcWorkflowServiceObject

{

private $whatToSay;

public function __construct(){

$this->whatToSay = 'true';

}

public function execute(ezcWorkflowExecution $execute) {

echo $this->whatToSay;

return true;

}

public function __toString(){

return 'action description';

}

}

?>

**** PrintFalse class

<?php

class PrintFalse implements ezcWorkflowServiceObject

{

private $whatToSay;

public function __construct(){

$this->whatToSay = 'false';

}

public function execute(ezcWorkflowExecution $execute) {

echo $this->whatToSay;

return true;

}

public function __toString(){

return 'action description';

}

}

?>

-- 
Components mailing list
Components@lists.ez.no
http://lists.ez.no/mailman/listinfo/components

Reply via email to