Axel,

your suggestion unforunately does not work as you would expect.

The action definition you are suggesting defines nextState=2 and newState=2. This means, that after the action has been executed, the wf1 is in state 2. Thus, any action that does not change the state of wf1 can be executed after this action, because the nextState definition is satisfied, if the state does not change.

Maybe I should update the documentation with a rule like this:

"Never set a newState definition to the same value as one of the nextState definitions, as this basically leaves the nextState definition effectless."

Hope that answers your question.

--- Matthias


Axel Gross wrote:


Well.

If you take a look at the struts-config.xml you'll see that there are two
actions defined:
wf1St2Loop
and
wf1St2LoopEnd

The second is just a forward changing workflow values.
I just can't figure out a reason, why there are two instead of one simpler
action.

for your convenience, original relevant part of struts-config.xml:
<!-- SNIPPET -->
<action path="/wf1St2Transition"
type="com.livinglogic.struts.workflow.test.Wf1St2Action">
<set-property property="authClass"
value="com.livinglogic.struts.workflow.test.TestAuthentication" />
<set-property property="primaryWorkflow" value="wf1" />
<set-property property="prevState" value="1" />
<set-property property="newState" value="2" />
<set-property property="nextState" value="2_loop" />
<set-property property="nextState" value="3" />
<forward name="success" path="/WEB-INF/web/inHome.jsp" />
</action>
<action path="/wf1St2Loop"
type="com.livinglogic.struts.workflow.test.Wf1St2Action">
<set-property property="authClass"
value="com.livinglogic.struts.workflow.test.TestAuthentication" />
<set-property property="primaryWorkflow" value="wf1" />
<set-property property="prevState" value="2" />
<set-property property="newState" value="2_loop" />
<set-property property="nextState" value="2" />
<forward name="success" path="/wf1St2LoopEnd.do" />
</action>


 <action path="/wf1St2LoopEnd" forward="/WEB-INF/web/inHome.jsp">
   <set-property property="authClass"
value="com.livinglogic.struts.workflow.test.TestAuthentication" />
   <set-property property="primaryWorkflow" value="wf1" />
   <set-property property="prevState" value="2_loop" />
   <set-property property="newState" value="2" />
   <set-property property="nextState" value="2_loop" />
   <set-property property="nextState" value="3" />
 </action>

<action path="/wf1St3Transition"

type="com.livinglogic.struts.workflow.AddSessionAttributeCleanupAction"
         parameter="pathWf1">
   <set-property property="authClass"
value="com.livinglogic.struts.workflow.test.TestAuthentication" />
   <set-property property="primaryWorkflow" value="wf1" />
   <set-property property="newState" value="3" />
   <forward name="success" path="/wf1St3TransitionPart2.do" />
 </action>
<!-- SNIPPET END -->


What I suggest is killing the '2_loop' state: <!-- SNIPPET --> <action path="/wf1St2Loop" type="com.livinglogic.struts.workflow.test.Wf1St2Action"> <set-property property="authClass" value="com.livinglogic.struts.workflow.test.TestAuthentication" /> <set-property property="primaryWorkflow" value="wf1" /> <set-property property="prevState" value="2" /> <set-property property="newState" value="2" /> <set-property property="nextState" value="2" /> <set-property property="nextState" value="3" /> <forward name="success" path="/WEB-INF/web/inHome.jsp"" /> </action> <!-- SNIPPET END -->

On 2003-10-20 at 17:07:31 +0200, [EMAIL PROTECTED] wrote:


can you elaborate a little?
Too less info :-((



-----Original Message-----
From: Axel Gross [mailto:[EMAIL PROTECTED]
Sent: Monday, October 20, 2003 5:03 PM
To: [EMAIL PROTECTED]
Subject: [Struts Workflow] Test application - why two actions for loop?


Hello!


I had a close look to the test application of the Struts Workflow Extension
(v 1.0.3).
I still couldn't grasp though, why for loop in workflow "wf1" there is a
need for 2 actions.
Maybe you could help me finding out:
Wouldn't it be enough to have
 prevState=2
 nextState=2
 nextState=3
 forward success -> inHome.jsp

thanks in advance,
Axel Gross



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]






--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to