Author: sb
Date: Tue Jan 22 08:22:11 2008
New Revision: 7226

Log:
- Cancel the parent workflow when a sub-workflow is cancelled.

Added:
    
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization.dot
   (with props)
    
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization_1.xml
   (with props)
    trunk/Workflow/tests/data/WorkflowWithSubWorkflowStartEnd.dot
      - copied, changed from r7197, 
trunk/Workflow/tests/data/WorkflowWithSubWorkflow.dot
    trunk/Workflow/tests/data/WorkflowWithSubWorkflowStartEnd_1.xml
      - copied, changed from r7197, 
trunk/Workflow/tests/data/WorkflowWithSubWorkflow_1.xml
    
trunk/WorkflowEventLogTiein/tests/data/WorkflowWithCancelCaseSubWorkflow.log   
(with props)
Removed:
    trunk/Workflow/tests/data/WorkflowWithSubWorkflow.dot
    trunk/Workflow/tests/data/WorkflowWithSubWorkflow_1.xml
Modified:
    trunk/Workflow/src/interfaces/execution.php
    trunk/Workflow/src/nodes/sub_workflow.php
    trunk/Workflow/tests/case.php
    trunk/Workflow/tests/definition_xml_test.php
    trunk/Workflow/tests/execution_test.php
    trunk/Workflow/tests/visitor_visualization_test.php
    trunk/WorkflowEventLogTiein/tests/data/InteractiveSubWorkflow.log
    trunk/WorkflowEventLogTiein/tests/data/NonInteractiveSubWorkflow.log
    trunk/WorkflowEventLogTiein/tests/listener_test.php

Modified: trunk/Workflow/src/interfaces/execution.php
==============================================================================
--- trunk/Workflow/src/interfaces/execution.php [iso-8859-1] (original)
+++ trunk/Workflow/src/interfaces/execution.php [iso-8859-1] Tue Jan 22 
08:22:11 2008
@@ -388,10 +388,10 @@
     /**
      * Cancels workflow execution with the node $endNode.
      *
-     * @param ezcWorkflowNodeEnd $endNode
-     * @ignore
-     */
-    public function cancel( ezcWorkflowNodeEnd $endNode )
+     * @param ezcWorkflowNode $node
+     * @ignore
+     */
+    public function cancel( ezcWorkflowNode $node )
     {
         $this->activatedNodes    = array();
         $this->cancelled         = true;
@@ -417,7 +417,7 @@
             );
         }
 
-        $this->end( $endNode );
+        $this->end( $node );
     }
 
     /**
@@ -425,10 +425,10 @@
      *
      * End nodes must call this method to end the execution.
      *
-     * @param ezcWorkflowNodeEnd $endNode
-     * @ignore
-     */
-    public function end( ezcWorkflowNodeEnd $endNode )
+     * @param ezcWorkflowNode $node
+     * @ignore
+     */
+    public function end( ezcWorkflowNode $node )
     {
         $this->ended     = true;
         $this->resumed   = false;
@@ -442,8 +442,8 @@
             'Executed node #%d(%s) for instance #%d ' .
             'of workflow "%s" (version %d).',
 
-            $endNode->getId(),
-            get_class( $endNode ),
+            $node->getId(),
+            get_class( $node ),
             $this->id,
             $this->workflow->name,
             $this->workflow->version
@@ -453,7 +453,7 @@
 
         if ( !$this->cancelled )
         {
-            $this->endThread( $endNode->getThreadId() );
+            $this->endThread( $node->getThreadId() );
         }
 
         $this->notifyListeners(

Modified: trunk/Workflow/src/nodes/sub_workflow.php
==============================================================================
--- trunk/Workflow/src/nodes/sub_workflow.php [iso-8859-1] (original)
+++ trunk/Workflow/src/nodes/sub_workflow.php [iso-8859-1] Tue Jan 22 08:22:11 
2008
@@ -147,6 +147,12 @@
             }
         }
 
+        // Execution of Sub Workflow was cancelled.
+        if ( $subExecution->isCancelled() )
+        {
+            $execution->cancel( $this );
+        }
+
         // Execution of Sub Workflow has ended.
         if ( $subExecution->hasEnded() )
         {

Modified: trunk/Workflow/tests/case.php
==============================================================================
--- trunk/Workflow/tests/case.php [iso-8859-1] (original)
+++ trunk/Workflow/tests/case.php [iso-8859-1] Tue Jan 22 08:22:11 2008
@@ -622,7 +622,7 @@
 
     protected function setUpWorkflowWithSubWorkflow( $subWorkflow )
     {
-        $this->workflow = new ezcWorkflow( 'WorkflowWithSubWorkflow' );
+        $this->workflow = new ezcWorkflow( 'WorkflowWithSubWorkflow' . 
$subWorkflow );
         $this->setUpReferences();
 
         $subWorkflow = new ezcWorkflowNodeSubWorkflow( $subWorkflow );

Added: 
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization.dot
==============================================================================
--- 
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization.dot
 (added)
+++ 
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization.dot
 [iso-8859-1] Tue Jan 22 08:22:11 2008
@@ -1,0 +1,8 @@
+digraph 
WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization {
+node1 [label="Start"]
+node2 [label="Sub Workflow: 
ParallelSplitActionActionCancelCaseSynchronization"]
+node3 [label="End"]
+
+node1 -> node2
+node2 -> node3
+}

Propchange: 
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization.dot
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization_1.xml
==============================================================================
--- 
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization_1.xml
 (added)
+++ 
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization_1.xml
 [iso-8859-1] Tue Jan 22 08:22:11 2008
@@ -1,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workflow 
name="WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization"
 version="1">
+  <node id="1" type="Start">
+    <outNode id="2"/>
+  </node>
+  <node id="2" type="SubWorkflow" 
subWorkflowName="ParallelSplitActionActionCancelCaseSynchronization">
+    <outNode id="3"/>
+  </node>
+  <node id="3" type="End"/>
+</workflow>

Propchange: 
trunk/Workflow/tests/data/WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization_1.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: trunk/Workflow/tests/data/WorkflowWithSubWorkflowStartEnd.dot (from 
r7197, trunk/Workflow/tests/data/WorkflowWithSubWorkflow.dot)
==============================================================================
--- trunk/Workflow/tests/data/WorkflowWithSubWorkflow.dot [iso-8859-1] 
(original)
+++ trunk/Workflow/tests/data/WorkflowWithSubWorkflowStartEnd.dot [iso-8859-1] 
Tue Jan 22 08:22:11 2008
@@ -1,4 +1,4 @@
-digraph WorkflowWithSubWorkflow {
+digraph WorkflowWithSubWorkflowStartEnd {
 node1 [label="Start"]
 node2 [label="Sub Workflow: StartEnd"]
 node3 [label="End"]

Copied: trunk/Workflow/tests/data/WorkflowWithSubWorkflowStartEnd_1.xml (from 
r7197, trunk/Workflow/tests/data/WorkflowWithSubWorkflow_1.xml)
==============================================================================
--- trunk/Workflow/tests/data/WorkflowWithSubWorkflow_1.xml [iso-8859-1] 
(original)
+++ trunk/Workflow/tests/data/WorkflowWithSubWorkflowStartEnd_1.xml 
[iso-8859-1] Tue Jan 22 08:22:11 2008
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<workflow name="WorkflowWithSubWorkflow" version="1">
+<workflow name="WorkflowWithSubWorkflowStartEnd" version="1">
   <node id="1" type="Start">
     <outNode id="2"/>
   </node>

Modified: trunk/Workflow/tests/definition_xml_test.php
==============================================================================
--- trunk/Workflow/tests/definition_xml_test.php [iso-8859-1] (original)
+++ trunk/Workflow/tests/definition_xml_test.php [iso-8859-1] Tue Jan 22 
08:22:11 2008
@@ -224,8 +224,8 @@
         $this->definition->save( $this->workflow );
 
         $this->assertEquals(
-          $this->readExpected( 'WorkflowWithSubWorkflow' ),
-          $this->readActual( 'WorkflowWithSubWorkflow' )
+          $this->readExpected( 'WorkflowWithSubWorkflowStartEnd' ),
+          $this->readActual( 'WorkflowWithSubWorkflowStartEnd' )
         );
     }
 
@@ -237,6 +237,17 @@
         $this->assertEquals(
           $this->readExpected( 'WorkflowWithSubWorkflowAndVariablePassing' ),
           $this->readActual( 'WorkflowWithSubWorkflowAndVariablePassing' )
+        );
+    }
+
+    public function testSaveWorkflowWithCancelCaseSubWorkflow()
+    {
+        $this->setUpWorkflowWithSubWorkflow( 
'ParallelSplitActionActionCancelCaseSynchronization' );
+        $this->definition->save( $this->workflow );
+
+        $this->assertEquals(
+          $this->readExpected( 
'WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization' ),
+          $this->readActual( 
'WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization' )
         );
     }
 
@@ -485,12 +496,23 @@
 
     public function testLoadWorkflowWithSubWorkflow()
     {
-        $this->workflow = $this->definition->loadByName( 
'WorkflowWithSubWorkflow' );
-        $this->definition->save( $this->workflow );
-
-        $this->assertEquals(
-          $this->readExpected( 'WorkflowWithSubWorkflow' ),
-          $this->readActual( 'WorkflowWithSubWorkflow' )
+        $this->workflow = $this->definition->loadByName( 
'WorkflowWithSubWorkflowStartEnd' );
+        $this->definition->save( $this->workflow );
+
+        $this->assertEquals(
+          $this->readExpected( 'WorkflowWithSubWorkflowStartEnd' ),
+          $this->readActual( 'WorkflowWithSubWorkflowStartEnd' )
+        );
+    }
+
+    public function testLoadWorkflowWithCancelCaseSubWorkflow()
+    {
+        $this->workflow = $this->definition->loadByName( 
'WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization' );
+        $this->definition->save( $this->workflow );
+
+        $this->assertEquals(
+          $this->readExpected( 
'WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization' ),
+          $this->readActual( 
'WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization' )
         );
     }
 

Modified: trunk/Workflow/tests/execution_test.php
==============================================================================
--- trunk/Workflow/tests/execution_test.php [iso-8859-1] (original)
+++ trunk/Workflow/tests/execution_test.php [iso-8859-1] Tue Jan 22 08:22:11 
2008
@@ -584,6 +584,19 @@
         $this->assertFalse( $this->execution->isSuspended() );
     }
 
+    public function testWorkflowWithCancelCaseSubWorkflow()
+    {
+        $this->setUpWorkflowWithSubWorkflow( 
'ParallelSplitActionActionCancelCaseSynchronization' );
+        $this->execution->definitionStorage = $this->definition;
+        $this->execution->workflow = $this->workflow;
+        $this->execution->start();
+
+        $this->assertTrue( $this->execution->isCancelled() );
+        $this->assertTrue( $this->execution->hasEnded() );
+        $this->assertFalse( $this->execution->isResumed() );
+        $this->assertFalse( $this->execution->isSuspended() );
+    }
+
     public function testServiceObjectWithConstructor()
     {
         $this->workflow = $this->definition->loadByName( 
'ServiceObjectWithArguments' );

Modified: trunk/Workflow/tests/visitor_visualization_test.php
==============================================================================
--- trunk/Workflow/tests/visitor_visualization_test.php [iso-8859-1] (original)
+++ trunk/Workflow/tests/visitor_visualization_test.php [iso-8859-1] Tue Jan 22 
08:22:11 2008
@@ -211,7 +211,18 @@
         $this->workflow->accept( $this->visitor );
 
         $this->assertEquals(
-          $this->readExpected( 'WorkflowWithSubWorkflow' ),
+          $this->readExpected( 'WorkflowWithSubWorkflowStartEnd' ),
+          $this->visitor->__toString()
+        );
+    }
+
+    public function testVisitWorkflowWithCancelCaseSubWorkflow()
+    {
+        $this->setUpWorkflowWithSubWorkflow( 
'ParallelSplitActionActionCancelCaseSynchronization' );
+        $this->workflow->accept( $this->visitor );
+
+        $this->assertEquals(
+          $this->readExpected( 
'WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization' ),
           $this->visitor->__toString()
         );
     }

Modified: trunk/WorkflowEventLogTiein/tests/data/InteractiveSubWorkflow.log
==============================================================================
--- trunk/WorkflowEventLogTiein/tests/data/InteractiveSubWorkflow.log 
[iso-8859-1] (original)
+++ trunk/WorkflowEventLogTiein/tests/data/InteractiveSubWorkflow.log 
[iso-8859-1] Tue Jan 22 08:22:11 2008
@@ -1,8 +1,8 @@
-MMM DD HH:MM:SS [Info] [default] [default] Started execution #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#4(ezcWorkflowNodeStart) for instance #1 of workflow "WorkflowWithSubWorkflow" 
(version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Started thread #0 (1 sibling(s)) 
for execution #1 of workflow "WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#5(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#4(ezcWorkflowNodeStart) for instance #1 of workflow "WorkflowWithSubWorkflow" 
(version 1).
+MMM DD HH:MM:SS [Info] [default] [default] Started execution #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#4(ezcWorkflowNodeStart) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Started thread #0 (1 sibling(s)) 
for execution #1 of workflow "WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#5(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#4(ezcWorkflowNodeStart) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).
 MMM DD HH:MM:SS [Debug] [default] [default] Set variable "foo" to "bar" for 
execution #2 of workflow "StartInputEnd" (version 1).
 MMM DD HH:MM:SS [Info] [default] [default] Started execution #2 of workflow 
"StartInputEnd" (version 1).
 MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#1(ezcWorkflowNodeStart) for instance #2 of workflow "StartInputEnd" (version 
1).
@@ -10,9 +10,9 @@
 MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#2(ezcWorkflowNodeInput) for instance #2 of workflow "StartInputEnd" (version 
1).
 MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#1(ezcWorkflowNodeStart) for instance #2 of workflow "StartInputEnd" (version 
1).
 MMM DD HH:MM:SS [Info] [default] [default] Suspended execution #2 of workflow 
"StartInputEnd" (version 1).
-MMM DD HH:MM:SS [Info] [default] [default] Suspended execution #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Set variable "variable" to "value" 
for execution #1 of workflow "WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Info] [default] [default] Resumed execution #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
+MMM DD HH:MM:SS [Info] [default] [default] Suspended execution #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Set variable "variable" to "value" 
for execution #1 of workflow "WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Info] [default] [default] Resumed execution #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).
 MMM DD HH:MM:SS [Debug] [default] [default] Set variable "foo" to "bar" for 
execution #2 of workflow "StartInputEnd" (version 1).
 MMM DD HH:MM:SS [Debug] [default] [default] Set variable "variable" to "value" 
for execution #2 of workflow "StartInputEnd" (version 1).
 MMM DD HH:MM:SS [Info] [default] [default] Resumed execution #2 of workflow 
"StartInputEnd" (version 1).
@@ -21,8 +21,8 @@
 MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#3(ezcWorkflowNodeEnd) for instance #2 of workflow "StartInputEnd" (version 1).
 MMM DD HH:MM:SS [Debug] [default] [default] Ended thread #0 for execution #2 
of workflow "StartInputEnd" (version 1).
 MMM DD HH:MM:SS [Info] [default] [default] Ended execution #2 of workflow 
"StartInputEnd" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#6(ezcWorkflowNodeEnd) for instance #1 of workflow "WorkflowWithSubWorkflow" 
(version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#5(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#6(ezcWorkflowNodeEnd) for instance #1 of workflow "WorkflowWithSubWorkflow" 
(version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Ended thread #0 for execution #1 
of workflow "WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Info] [default] [default] Ended execution #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#6(ezcWorkflowNodeEnd) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#5(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#6(ezcWorkflowNodeEnd) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Ended thread #0 for execution #1 
of workflow "WorkflowWithSubWorkflowStartInputEnd" (version 1).
+MMM DD HH:MM:SS [Info] [default] [default] Ended execution #1 of workflow 
"WorkflowWithSubWorkflowStartInputEnd" (version 1).

Modified: trunk/WorkflowEventLogTiein/tests/data/NonInteractiveSubWorkflow.log
==============================================================================
--- trunk/WorkflowEventLogTiein/tests/data/NonInteractiveSubWorkflow.log 
[iso-8859-1] (original)
+++ trunk/WorkflowEventLogTiein/tests/data/NonInteractiveSubWorkflow.log 
[iso-8859-1] Tue Jan 22 08:22:11 2008
@@ -1,8 +1,8 @@
-MMM DD HH:MM:SS [Info] [default] [default] Started execution #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#3(ezcWorkflowNodeStart) for instance #1 of workflow "WorkflowWithSubWorkflow" 
(version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Started thread #0 (1 sibling(s)) 
for execution #1 of workflow "WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#4(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#3(ezcWorkflowNodeStart) for instance #1 of workflow "WorkflowWithSubWorkflow" 
(version 1).
+MMM DD HH:MM:SS [Info] [default] [default] Started execution #1 of workflow 
"WorkflowWithSubWorkflowStartEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#3(ezcWorkflowNodeStart) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Started thread #0 (1 sibling(s)) 
for execution #1 of workflow "WorkflowWithSubWorkflowStartEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#4(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#3(ezcWorkflowNodeStart) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartEnd" (version 1).
 MMM DD HH:MM:SS [Info] [default] [default] Started execution #0 of workflow 
"StartEnd" (version 1).
 MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#1(ezcWorkflowNodeStart) for instance #0 of workflow "StartEnd" (version 1).
 MMM DD HH:MM:SS [Debug] [default] [default] Started thread #0 (1 sibling(s)) 
for execution #0 of workflow "StartEnd" (version 1).
@@ -11,8 +11,8 @@
 MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#2(ezcWorkflowNodeEnd) for instance #0 of workflow "StartEnd" (version 1).
 MMM DD HH:MM:SS [Debug] [default] [default] Ended thread #0 for execution #0 
of workflow "StartEnd" (version 1).
 MMM DD HH:MM:SS [Info] [default] [default] Ended execution #0 of workflow 
"StartEnd" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#5(ezcWorkflowNodeEnd) for instance #1 of workflow "WorkflowWithSubWorkflow" 
(version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#4(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#5(ezcWorkflowNodeEnd) for instance #1 of workflow "WorkflowWithSubWorkflow" 
(version 1).
-MMM DD HH:MM:SS [Debug] [default] [default] Ended thread #0 for execution #1 
of workflow "WorkflowWithSubWorkflow" (version 1).
-MMM DD HH:MM:SS [Info] [default] [default] Ended execution #1 of workflow 
"WorkflowWithSubWorkflow" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#5(ezcWorkflowNodeEnd) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#4(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#5(ezcWorkflowNodeEnd) for instance #1 of workflow 
"WorkflowWithSubWorkflowStartEnd" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Ended thread #0 for execution #1 
of workflow "WorkflowWithSubWorkflowStartEnd" (version 1).
+MMM DD HH:MM:SS [Info] [default] [default] Ended execution #1 of workflow 
"WorkflowWithSubWorkflowStartEnd" (version 1).

Added: 
trunk/WorkflowEventLogTiein/tests/data/WorkflowWithCancelCaseSubWorkflow.log
==============================================================================
--- 
trunk/WorkflowEventLogTiein/tests/data/WorkflowWithCancelCaseSubWorkflow.log 
(added)
+++ 
trunk/WorkflowEventLogTiein/tests/data/WorkflowWithCancelCaseSubWorkflow.log 
[iso-8859-1] Tue Jan 22 08:22:11 2008
@@ -1,0 +1,22 @@
+MMM DD HH:MM:SS [Info] [default] [default] Started execution #1 of workflow 
"WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization" 
(version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#9(ezcWorkflowNodeStart) for instance #1 of workflow 
"WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization" 
(version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Started thread #0 (1 sibling(s)) 
for execution #1 of workflow 
"WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization" 
(version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#10(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization" 
(version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#9(ezcWorkflowNodeStart) for instance #1 of workflow 
"WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization" 
(version 1).
+MMM DD HH:MM:SS [Info] [default] [default] Started execution #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#1(ezcWorkflowNodeStart) for instance #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Started thread #0 (1 sibling(s)) 
for execution #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#2(ezcWorkflowNodeAction) for instance #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#1(ezcWorkflowNodeStart) for instance #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#3(ezcWorkflowNodeParallelSplit) for instance #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#2(ezcWorkflowNodeAction) for instance #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Started thread #1 (3 sibling(s)) 
for execution #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#4(ezcWorkflowNodeAction) for instance #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Started thread #2 (3 sibling(s)) 
for execution #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Activated node 
#7(ezcWorkflowNodeAction) for instance #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Started thread #3 (3 sibling(s)) 
for execution #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Could not roll back service object 
"ServiceObject" of node #2 for instance #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#8(ezcWorkflowNodeCancel) for instance #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Info] [default] [default] Cancelled execution #0 of workflow 
"ParallelSplitActionActionCancelCaseSynchronization" (version 1).
+MMM DD HH:MM:SS [Debug] [default] [default] Executed node 
#10(ezcWorkflowNodeSubWorkflow) for instance #1 of workflow 
"WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization" 
(version 1).
+MMM DD HH:MM:SS [Info] [default] [default] Cancelled execution #1 of workflow 
"WorkflowWithSubWorkflowParallelSplitActionActionCancelCaseSynchronization" 
(version 1).

Propchange: 
trunk/WorkflowEventLogTiein/tests/data/WorkflowWithCancelCaseSubWorkflow.log
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: trunk/WorkflowEventLogTiein/tests/listener_test.php
==============================================================================
--- trunk/WorkflowEventLogTiein/tests/listener_test.php [iso-8859-1] (original)
+++ trunk/WorkflowEventLogTiein/tests/listener_test.php [iso-8859-1] Tue Jan 22 
08:22:11 2008
@@ -332,6 +332,21 @@
         );
     }
 
+    public function testLogWorkflowWithCancelCaseSubWorkflow()
+    {
+        $this->setUpCancelCase( 'last' );
+        $this->definition->save( $this->workflow );
+        $this->setUpWorkflowWithSubWorkflow( 
'ParallelSplitActionActionCancelCaseSynchronization' );
+        $this->definition->save( $this->workflow );
+        $this->execution->workflow = $this->workflow;
+        $this->execution->start();
+
+        $this->assertEquals(
+          $this->readExpected( 'WorkflowWithCancelCaseSubWorkflow' ),
+          $this->readActual()
+        );
+    }
+
     public function testLogNestedLoops()
     {
         $this->setUpNestedLoops();


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

Reply via email to