<!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;">
    Problem of getting WorkflowProcessInstance in Guvnor
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/cross.cy">Yu Chai</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/641400#641400">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi, </p><p>I have a question about getting the current WorkflowProcessInstance in Guvnor business rule editor. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>In my test workflow, I have a script node before a rule task node, doing </p><p class="p1">"kcontext.getKnowledgeRuntime().<span class="s1"><strong>insert</strong></span>(kcontext.getProcessInstance())" to insert the current process instance into working memory. In the rule task node, I'm trying to refer to a business rule defined using Guvnor. To use WorkflowProcessInstance in "When", I manually imported org.drools.runtime.process.WorkflowProcessInstance into the package. However, when i tried to call setVariable() method on the process instance, it always threw out null pointer exception at runtime. It looks like the business rule didn't pick up the WorkflowProcessInstance inserted by the previous script task. The source of the business rule is like:</p><p class="p1" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>rule "Rejected App"</p><p>&#160;&#160;&#160; ruleflow-group "rejection" </p><p>&#160;&#160;&#160; when</p><p>&#160;&#160;&#160;&#160;&#160; ......</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; processInstance: WorkflowProcessInstance()</p><p>&#160;&#160;&#160; then</p><p>&#160;&#160;&#160;&#160;&#160;&#160; processInstance.setVariable("delay", 2);</p><p>&#160;&#160;&#160;&#160;&#160;&#160; retract(processInstance);</p><p>end</p><p class="p1" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p class="p1" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p class="p1">I ended up using Eclipse to write a drl rule and uploaded to Guvnor to build the package, and it worked. My rule is like:</p><p class="p1" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>rule "Rejected App"</p><p>&#160;&#160;&#160; ruleflow-group "rejection" </p><p>&#160;&#160;&#160; when</p><p>&#160;&#160;&#160;&#160;&#160; ......</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; processInstance: WorkflowProcessInstance()</p><p>&#160;&#160;&#160; then</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;((WorkflowProcessInstance)kcontext.getKnowledgeRuntime().getProcessInstance(processInstance.getId())).setVariable("delay", 2);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;retract(processInstance);</p><p>end</p><p class="p1" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p class="p1">Any suggestion on how to pick up the right WorkflowProcessInstance using Guvnor Bunisess rule editor? I'm using jBPM5.1 and Guvnor 5.2.Final. Thanks!</p><p class="p1" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p class="p1">Best regards</p><p class="p1" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p class="p1">Yu</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/641400#641400">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>