<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: JBPM 3.1 Exception thrown on EndState
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/baltajino">Al Daher</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/630935#630935">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>i analysed the log Information, there was something suspicious happening in my process.</p><p>The process cgoes as follows:</p><p>Start----&gt;validateNode(actionhandler1)----&gt;decisionNodeUponValidation(actionhandler2)-----&gt;End\or go further</p><p>in actionHandler1 ihad the following code:</p><p>Line1 if(startDate.before(currentDate))</p><p>Line2&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p><p>Line3&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; executionContext.setVariable(ProjectManagementProcessConstants.VAR_PROJECT_STATUS, Status.REJECTED);</p><p>Line4&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; executionContext.leaveNode();</p><p>Line5&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p><p>Line6&#160;&#160;&#160;&#160;&#160;&#160;&#160; else if(projecttitle==null || projecttitle.equals(""))</p><p>Line7&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p><p>Line8&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; executionContext.setVariable(ProjectManagementProcessConstants.VAR_PROJECT_STATUS, Status.REJECTED);</p><p>Line9&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; executionContext.leaveNode();</p><p>Line10&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p><p>Line11&#160;&#160;&#160;&#160;&#160;&#160;&#160; executionContext.setVariable(ProjectManagementProcessConstants.VAR_PROJECT_STATUS, Status.APPROVED);</p><p>Line12&#160;&#160;&#160;&#160;&#160;&#160;&#160; executionContext.leaveNode();</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>according my test, it shall go through line 3 and 4 and after that actionhandler2 shall be called and then to endState will be reached. So fas so good. And it happens indeed BUT:</p><p>after getting out of End State the code completes to line 11 and 12 in actionHandler1. Now the Variable Status is has changed But actionHandler1 has not finished. So while leaving EndState it goes furrther in actionHandler1 and actionHandler2. in actionHandler2 it fires a a leavenode(transition1) and tries to go to a transition1 which does not exist in End State. Hence the exception can't leave node 'EndState(endProjectManagementProcess)' without leaving transition.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Bottom Line: LEAVENODE FUNCTION IS NOT THE SAME AS RETURN</p><p>That is something NEW AND INTERESTING to learn</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/630935#630935">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>