[werkflow-user] werkflow examples doesn't work
Leonardo <[email protected]> 28 Aug 2003 08:52:58 -0300
| Newsgroups | gmane.comp.java.werkflow |
|---|---|
| Organization | WIdesoft |
| Message-ID | <1062071578.18923.42.camel@leonardo> |
Hi,
I'm a new user of werflow so I'm still learning about it. I downloaded
the werkflow 1.0 beta 6 , maven and did a build succesfully. I tried the
blog example with minimal changes running inside IntelliJ .The
compilation goes fine but the execution is imcomplete (the process
'publish' or 'reject' never starts). The xml used and output are below.
Can anyone gimme some help ? Thanks in advance.
Leonardo
<processes xmlns="werkflow:basic"
xmlns:j="jelly:core"
xmlns:jelly="werkflow:jelly"
xmlns:java="werkflow:java"
xmlns:python="werkflow:python"
xmlns:ognl="werkflow:ognl">
<message-types>
<message-type id="blog.entry">
<python:selector
type="org.codehaus.werkflow.example.blog.BlogEntry"/>
</message-type>
<message-type id="publish.cmd">
<python:selector
type="org.codehaus.werkflow.example.blog.Command"
filter="message.getType() == 'publish'"/>
</message-type>
<message-type id="reject.cmd">
<python:selector
type="org.codehaus.werkflow.example.blog.Command"
filter="message.getType() == 'reject'"/>
</message-type>
</message-types>
<process id="blog"
initiation="message">
<attributes>
<attribute id="author">
<java:attr-type type="java.lang.String"/>
</attribute>
<attribute id="title">
<java:attr-type type="java.lang.String"/>
</attribute>
</attributes>
<sequence>
<receive type="blog.entry">
<jelly:action>
<j:set var="title" value="${message.title}"/>
<j:set var="author" value="${message.author}"/>
</jelly:action>
</receive>
<jelly:log message="received: ${title} by ${author}"/>
<java:action>
import java.util.Date;
System.err.println( new Date() + " :: waiting for action
for: " + title + " // " + author );
</java:action>
<pick>
<choice>
<sequence>
<receive type="publish.cmd" bind="cmd">
<!--
<python:correlator test="cmd.title ==
title"/>
-->
<ognl:correlator test="#cmd.title ==
#title"/>
<jelly:action>
<j:set var="cmdTitle"
value="${cmd.title}"/>
</jelly:action>
</receive>
<call id="publish">
<in id="author" value="author"/>
<in id="title" value="title"/>
</call>
</sequence>
</choice>
<choice>
<sequence>
<receive type="reject.cmd" bind="cmd">
<!--
<python:correlator test="cmd.title ==
title"/>
-->
<ognl:correlator test="#cmd.title ==
#title"/>
<jelly:action>
<j:set var="cmdTitle"
value="${cmd.title}"/>
</jelly:action>
<call id="reject">
<in id="author" value="author"/>
<in id="title" value="title"/>
</call>
</receive>
</sequence>
</choice>
</pick>
</sequence>
</process>
<process id="publish"
initiation="call">
<attributes>
<attribute id="author" in="true">
<java:attr-type type="java.lang.String"/>
</attribute>
<attribute id="title" in="true">
<java:attr-type type="java.lang.String"/>
</attribute>
</attributes>
<sequence>
<jelly:log message="publishing ${title} by ${author}"/>
</sequence>
</process>
<process id="reject"
initiation="call">
<attributes>
<attribute id="author" in="true">
<java:attr-type type="java.lang.String"/>
</attribute>
<attribute id="title" in="true">
<java:attr-type type="java.lang.String"/>
</attribute>
</attributes>
<sequence>
<jelly:log message="rejecting ${title} by ${author}"/>
</sequence>
</process>
</processes>
And the output is:
initializeMessageInitiator([transition id=/sequence:finish])
isAttachedToIn([transition id=/sequence:finish])
isAttachedToIn([transition id=/sequence:finish]) vs [place
id=/sequence/choose[3]:tail]
isAttachedToIn([transition id=/sequence:finish]) FALSE
initializeMessageInitiator([transition
id=/sequence/receive[0]:the.action])
isAttachedToIn([transition id=/sequence/receive[0]:the.action])
isAttachedToIn([transition id=/sequence/receive[0]:the.action]) vs
[place id=in]
isAttachedToIn([transition id=/sequence/receive[0]:the.action]) vs
[place id=in] TRUE
initializeMessageInitiator([transition
id=/sequence/receive[0]:the.action]) connected to in
initializeMessageInitiator([transition
id=/sequence/receive[0]:the.action]) is message waiter
new message type handle:
org.codehaus.werkflow.core.MessageTypeHandler@1004b78 //
org.codehaus.werkflow.service.messaging.simple.SimpleRegistration@5ad7b2
initializeMessageInitiator([transition
id=/sequence/werkflow.action[1]:action])
isAttachedToIn([transition id=/sequence/werkflow.action[1]:action])
isAttachedToIn([transition id=/sequence/werkflow.action[1]:action]) vs
[place id=/sequence/receive[0]:tail]
isAttachedToIn([transition id=/sequence/werkflow.action[1]:action])
FALSE
initializeMessageInitiator([transition
id=/sequence/werkflow.action[2]:action])
isAttachedToIn([transition id=/sequence/werkflow.action[2]:action])
isAttachedToIn([transition id=/sequence/werkflow.action[2]:action]) vs
[place id=/sequence/werkflow.action[1]:tail]
isAttachedToIn([transition id=/sequence/werkflow.action[2]:action])
FALSE
initializeMessageInitiator([transition
id=/sequence/choose[3]/sequence[0]:finish])
isAttachedToIn([transition id=/sequence/choose[3]/sequence[0]:finish])
isAttachedToIn([transition id=/sequence/choose[3]/sequence[0]:finish])
vs [place id=/sequence/choose[3]/sequence[0]/werkflow.action[1]:tail]
isAttachedToIn([transition id=/sequence/choose[3]/sequence[0]:finish])
FALSE
initializeMessageInitiator([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action]) FALSE
initializeMessageInitiator([transition
id=/sequence/choose[3]/sequence[0]/werkflow.action[1]:action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/werkflow.action[1]:action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/werkflow.action[1]:action]) vs [place
id=/sequence/choose[3]/sequence[0]/receive[0]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/werkflow.action[1]:action]) FALSE
initializeMessageInitiator([transition
id=/sequence/choose[3]/sequence[1]:finish])
isAttachedToIn([transition id=/sequence/choose[3]/sequence[1]:finish])
isAttachedToIn([transition id=/sequence/choose[3]/sequence[1]:finish])
vs [place id=/sequence/choose[3]/sequence[1]/receive[0]:tail]
isAttachedToIn([transition id=/sequence/choose[3]/sequence[1]:finish])
FALSE
initializeMessageInitiator([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action]) FALSE
initializeMessageWaiter([transition id=/sequence:finish])
initializeMessageWaiter([transition id=/sequence/receive[0]:the.action])
isAttachedToIn([transition id=/sequence/receive[0]:the.action])
isAttachedToIn([transition id=/sequence/receive[0]:the.action]) vs
[place id=in]
isAttachedToIn([transition id=/sequence/receive[0]:the.action]) vs
[place id=in] TRUE
initializeMessageWaiter([transition
id=/sequence/werkflow.action[1]:action])
initializeMessageWaiter([transition
id=/sequence/werkflow.action[2]:action])
initializeMessageWaiter([transition
id=/sequence/choose[3]/sequence[0]:finish])
initializeMessageWaiter([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action]) FALSE
initializeMessageWaiter([transition
id=/sequence/choose[3]/sequence[0]/receive[0]:the.action]) not
message-initiated and connected to in
new message type handle:
org.codehaus.werkflow.core.MessageTypeHandler@1fe910c //
org.codehaus.werkflow.service.messaging.simple.SimpleRegistration@1e4d6ef
initializeMessageWaiter([transition
id=/sequence/choose[3]/sequence[0]/werkflow.action[1]:action])
initializeMessageWaiter([transition
id=/sequence/choose[3]/sequence[1]:finish])
initializeMessageWaiter([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action])
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action]) vs [place
id=/sequence/werkflow.action[2]:tail]
isAttachedToIn([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action]) FALSE
initializeMessageWaiter([transition
id=/sequence/choose[3]/sequence[1]/receive[0]:the.action]) not
message-initiated and connected to in
new message type handle:
org.codehaus.werkflow.core.MessageTypeHandler@11dfe3 //
org.codehaus.werkflow.service.messaging.simple.SimpleRegistration@181d405
initializeMessageWaiter([transition id=/sequence:finish])
initializeMessageWaiter([transition
id=/sequence/werkflow.action[0]:action])
initializeMessageWaiter([transition id=/sequence:finish])
initializeMessageWaiter([transition
id=/sequence/werkflow.action[0]:action])
simple reg: acceptMessage( [BlogEntry: title=A Tale of Two Cheeses;
[email protected]; content=It was a balmy night when Gouda first
considered the proposition...] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@7ab89d
sink: org.codehaus.werkflow.core.ProcessDeployment@1e6ac83
acceptMessage; [BlogEntry: title=A Tale of Two Cheeses;
[email protected]; content=It was a balmy night when Gouda first
considered the proposition...]
MessageHandler.acceptMessage( [BlogEntry: title=A Tale of Two Cheeses;
[email protected]; content=It was a balmy night when Gouda first
considered the proposition...] )
MessageTypeHandler.acceptMessage( [BlogEntry: title=A Tale of Two
Cheeses; [email protected]; content=It was a balmy night when Gouda
first considered the proposition...] )
newCase: org.codehaus.werkflow.Attributes$1@3b8219
enqueue: org.codehaus.werkflow.core.CoreActivity@33a6b8
WorkItem: org.codehaus.werkflow.core.CoreWorkItem@63ae08
WorkItem.Transition: [transition id=/sequence/receive[0]:the.action]
WorkItem.Transition.Task: org.codehaus.werkflow.task.DefaultTask@36bb87
WorkItem.Transition.Task.Action:
org.codehaus.werkflow.semantics.jelly.JellyAction@151b1b7
action to perform:
org.codehaus.werkflow.semantics.jelly.JellyAction@151b1b7
persist: org.codehaus.werkflow.core.CoreChangeSet@18ba593
persist: org.codehaus.werkflow.core.CoreChangeSet@1235feb
simple reg: acceptMessage( [BlogEntry: title=A Tale of Two Cheeses;
[email protected]; content=It was a balmy night when Gouda first
considered the proposition...] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@62b39f
simple reg: acceptMessage( [BlogEntry: title=A Tale of Two Cheeses;
[email protected]; content=It was a balmy night when Gouda first
considered the proposition...] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@17d57d6
simple reg: acceptMessage( [BlogEntry: title=Bob Considered Harmful;
[email protected]; content=While used by many folks, the practice of
Bob has many disadvantages...] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@7ab89d
sink: org.codehaus.werkflow.core.ProcessDeployment@1e6ac83
acceptMessage; [BlogEntry: title=Bob Considered Harmful;
[email protected]; content=While used by many folks, the practice of
Bob has many disadvantages...]
MessageHandler.acceptMessage( [BlogEntry: title=Bob Considered Harmful;
[email protected]; content=While used by many folks, the practice of
Bob has many disadvantages...] )
MessageTypeHandler.acceptMessage( [BlogEntry: title=Bob Considered
Harmful; [email protected]; content=While used by many folks, the
practice of Bob has many disadvantages...] )
newCase: org.codehaus.werkflow.Attributes$1@3b8219
enqueue: org.codehaus.werkflow.core.CoreActivity@177e5d4
WorkItem: org.codehaus.werkflow.core.CoreWorkItem@91fa78
WorkItem.Transition: [transition id=/sequence/receive[0]:the.action]
WorkItem.Transition.Task: org.codehaus.werkflow.task.DefaultTask@36bb87
WorkItem.Transition.Task.Action:
org.codehaus.werkflow.semantics.jelly.JellyAction@151b1b7
action to perform:
org.codehaus.werkflow.semantics.jelly.JellyAction@151b1b7
persist: org.codehaus.werkflow.core.CoreChangeSet@1d2f117
persist: org.codehaus.werkflow.core.CoreChangeSet@1d22104
simple reg: acceptMessage( [BlogEntry: title=Bob Considered Harmful;
[email protected]; content=While used by many folks, the practice of
Bob has many disadvantages...] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@62b39f
simple reg: acceptMessage( [BlogEntry: title=Bob Considered Harmful;
[email protected]; content=While used by many folks, the practice of
Bob has many disadvantages...] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@17d57d6
simple reg: acceptMessage( [Command: publish // A Tale of Two Cheeses] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@7ab89d
simple reg: acceptMessage( [Command: publish // A Tale of Two Cheeses] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@62b39f
complete()
completion -->org.codehaus.werkflow.core.CoreCompletion@ba0dfc
persist: org.codehaus.werkflow.core.CoreChangeSet@ec44cb
persist: org.codehaus.werkflow.core.CoreChangeSet@198a037
persist: org.codehaus.werkflow.core.CoreChangeSet@13e8c1c
enqueue: org.codehaus.werkflow.core.CoreActivity@1609872
WorkItem: org.codehaus.werkflow.core.CoreWorkItem@b8705b
WorkItem.Transition: [transition id=/sequence/werkflow.action[1]:action]
WorkItem.Transition.Task: org.codehaus.werkflow.task.DefaultTask@d88aa2
WorkItem.Transition.Task.Action:
org.codehaus.werkflow.semantics.jelly.LogAction@75cea3
action to perform:
org.codehaus.werkflow.semantics.jelly.LogAction@75cea3
case.2 ][ received: Bob Considered Harmful by [email protected]
complete()
completion -->org.codehaus.werkflow.core.CoreCompletion@513098
persist: org.codehaus.werkflow.core.CoreChangeSet@4d4d5e
persist: org.codehaus.werkflow.core.CoreChangeSet@1128ee5
persist: org.codehaus.werkflow.core.CoreChangeSet@1636731
enqueue: org.codehaus.werkflow.core.CoreActivity@10bfe2c
WorkItem: org.codehaus.werkflow.core.CoreWorkItem@5c2445
WorkItem.Transition: [transition id=/sequence/werkflow.action[2]:action]
WorkItem.Transition.Task: org.codehaus.werkflow.task.DefaultTask@1516490
WorkItem.Transition.Task.Action:
org.codehaus.werkflow.semantics.java.JavaBsfAction@a14e84
action to perform:
org.codehaus.werkflow.semantics.java.JavaBsfAction@a14e84
complete()
completion -->org.codehaus.werkflow.core.CoreCompletion@29d50d
persist: org.codehaus.werkflow.core.CoreChangeSet@626028
persist: org.codehaus.werkflow.core.CoreChangeSet@970110
persist: org.codehaus.werkflow.core.CoreChangeSet@1c6f1f4
enqueue: org.codehaus.werkflow.core.CoreActivity@36d036
WorkItem: org.codehaus.werkflow.core.CoreWorkItem@9fa2fb
WorkItem.Transition: [transition id=/sequence/werkflow.action[1]:action]
WorkItem.Transition.Task: org.codehaus.werkflow.task.DefaultTask@d88aa2
WorkItem.Transition.Task.Action:
org.codehaus.werkflow.semantics.jelly.LogAction@75cea3
action to perform:
org.codehaus.werkflow.semantics.jelly.LogAction@75cea3
case.1 ][ received: A Tale of Two Cheeses by [email protected]
complete()
completion -->org.codehaus.werkflow.core.CoreCompletion@8523a0
persist: org.codehaus.werkflow.core.CoreChangeSet@e5f01b
persist: org.codehaus.werkflow.core.CoreChangeSet@1f68d7c
persist: org.codehaus.werkflow.core.CoreChangeSet@1c2f501
enqueue: org.codehaus.werkflow.core.CoreActivity@635421
WorkItem: org.codehaus.werkflow.core.CoreWorkItem@1286180
WorkItem.Transition: [transition id=/sequence/werkflow.action[2]:action]
WorkItem.Transition.Task: org.codehaus.werkflow.task.DefaultTask@1516490
WorkItem.Transition.Task.Action:
org.codehaus.werkflow.semantics.java.JavaBsfAction@a14e84
action to perform:
org.codehaus.werkflow.semantics.java.JavaBsfAction@a14e84
Thu Aug 28 08:46:16 BRT 2003 :: waiting for action for: Bob Considered
Harmful // [email protected]
complete()
completion -->org.codehaus.werkflow.core.CoreCompletion@2de41d
persist: org.codehaus.werkflow.core.CoreChangeSet@db4bcf
persist: org.codehaus.werkflow.core.CoreChangeSet@1e07d3e
Thu Aug 28 08:46:17 BRT 2003 :: waiting for action for: A Tale of Two
Cheeses // [email protected]
complete()
completion -->org.codehaus.werkflow.core.CoreCompletion@13e86ec
persist: org.codehaus.werkflow.core.CoreChangeSet@c199f
persist: org.codehaus.werkflow.core.CoreChangeSet@6646fc
sink: org.codehaus.werkflow.core.ProcessDeployment@1e6ac83
acceptMessage; [Command: publish // A Tale of Two Cheeses]
MessageHandler.acceptMessage( [Command: publish // A Tale of Two
Cheeses] )
MessageTypeHandler.acceptMessage( [Command: publish // A Tale of Two
Cheeses] )
CorrelationMessageHanderl.acceptMessage( [Command: publish // A Tale of
Two Cheeses] )
MessageWaiterHandler.acceptMessage( [Command: publish // A Tale of Two
Cheeses] )
RESULT: false
simple reg: acceptMessage( [Command: publish // A Tale of Two Cheeses] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@17d57d6
simple reg: acceptMessage( [Command: reject // Bob Considered Harmful] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@7ab89d
simple reg: acceptMessage( [Command: reject // Bob Considered Harmful] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@62b39f
simple reg: acceptMessage( [Command: reject // Bob Considered Harmful] )
message-selector:
org.codehaus.werkflow.semantics.java.ClassMessageSelector@17d57d6
sink: org.codehaus.werkflow.core.ProcessDeployment@1e6ac83
acceptMessage; [Command: reject // Bob Considered Harmful]
MessageHandler.acceptMessage( [Command: reject // Bob Considered
Harmful] )
MessageTypeHandler.acceptMessage( [Command: reject // Bob Considered
Harmful] )
CorrelationMessageHanderl.acceptMessage( [Command: reject // Bob
Considered Harmful] )
MessageWaiterHandler.acceptMessage( [Command: reject // Bob Considered
Harmful] )
RESULT: false