<!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="https://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: How to integrate a Web Application with JBPM?
</h3>
<span style="margin-bottom: 10px;">
created by <a href="https://community.jboss.org/people/lingaiah.sundari">Lingaiah Sundari</a> in <i>jBPM Development</i> - <a href="https://community.jboss.org/message/752576#752576">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 Srikanthan,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>     I have done the web application  interaction with JBPM. In our example It was covered around 70% of your requirement.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>     We can have the helper class to call the JBPM process or with in the servlet we can have the call to JBPM process. And also covered Human tasks and actions .</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>     </p><p>     sample code (Servlet) : </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>     <strong style="color: #7f0055; font-size: 10pt;"><p><strong style="color: #7f0055; font-size: 10pt;"><strong style=": ; color: #7f0055; font-size: 2;"><p align="left">protected</p></strong></strong></p></strong><span style="color: #000000; font-size: 10pt;"> </span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">void</strong></strong><span style="font-size: 10pt;"><span style="color: #000000;"> processRequest(HttpServletRequest request, HttpServletResponse response)</span><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">throws</strong></strong><span style="font-size: 2;"> ServletException, IOException {</span></span></p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 10pt;"><span style="font-size: 2;"><p align="left">response.setContentType(</p></span><span style="color: #2a00ff; font-size: 10pt;">"text/html;charset=UTF-8"</span><span style="font-size: 2;">);</span></span><span style="font-size: 10pt;"><p align="left">PrintWriter out = response.getWriter();</p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">try</strong></strong><span style="font-size: 2;"> {</span></span><span style="font-size: 10pt;"><span style="font-size: 2;"><p align="left">String action = request.getParameter(</p></span><span style="color: #2a00ff; font-size: 10pt;">"action"</span><span style="font-size: 2;">);</span></span><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">if</strong></strong><span style="font-size: 10pt;"> (action.equals(</span><span style="color: #2a00ff; font-size: 10pt;">"CreateProcess"</span><span style="font-size: 2;">)) {</span></span><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">UserTransaction ut = (UserTransaction) </p></span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><span style="font-size: 10pt;"> InitialContext().lookup( </span><span style="color: #2a00ff; font-size: 10pt;">"java:comp/UserTransaction"</span><span style="font-size: 2;"> );</span></span><span style="font-size: 10pt;"><p align="left">ut.begin();</p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span><span style=": ; color: #3f7f5f; font-size: 2;">//StatefulKnowledgeSession <span style="text-decoration: underline;">ksession</span> = JbpmAPIUtil.getSession();</span></span><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left"><p><span style=": ; font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">// JPAWorkingMemoryDbLogger logger = </span></p></span></p><span style=": ; font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><span style="font-size: 10pt;"> JPAWorkingMemoryDbLogger (</span><span style="color: #0000c0; font-size: 10pt;">ksession</span><p align="left"><span style="font-size: 10pt;">);<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">/*Map<String, Object> <span style="text-decoration: underline;">params</span> = new HashMap<String, Object>();<p align="left">params.put("priority", "High");</p><p align="left">params.put("modelNumber", "123"); </p><p align="left">params.put("quantity", "66"); */</p></span></p></span></p><span style=": ; font-size: 2;"><p align="left">KnowledgeRuntimeLoggerFactory.<em>newConsoleLogger</em>(</p></span><span style="color: #0000c0; font-size: 10pt;">ksession</span><p align="left"><span style="font-size: 10pt;">);<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><span style="color: #0000c0; font-size: 10pt;">ksession</span><span style="font-size: 10pt;">.getWorkItemManager().registerWorkItemHandler(</span><span style="color: #2a00ff; font-size: 10pt;">"Log"</span><span style="font-size: 10pt;">, </span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><p align="left"><span style="font-size: 10pt;"> SystemOutWorkItemHandler());<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><span style="color: #0000c0; font-size: 10pt;">ksession</span><p align="left"><span style="font-size: 10pt;">.getWorkItemManager().registerWorkItemHandler(<span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"Email"</span><span style="font-size: 10pt;">, </span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><span style="font-size: 10pt;"> EmailWorkItemHandler(</span><span style="color: #2a00ff; font-size: 10pt;">"20.139.68.11"</span><span style="font-size: 10pt;">,</span><span style="color: #2a00ff; font-size: 10pt;">"86400"</span><span style="font-size: 10pt;">,</span><span style="color: #2a00ff; font-size: 10pt;">"lsundari"</span><span style="font-size: 10pt;">,</span><span style="color: #2a00ff; font-size: 10pt;">"Shiva@2012"</span><p align="left"><span style="font-size: 10pt;">));<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">//ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new WSHumanTaskHandler());</span></p></span></p><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">CustomerProfile customerProfile = </p></span></span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><span style="font-size: 10pt;"> CustomerProfile(request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"fName"</span><span style="font-size: 10pt;">),request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"lName"</span><span style="font-size: 10pt;">),Integer.<em>parseInt</em>(request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"age"</span><span style="font-size: 10pt;">)),Integer.<em>parseInt</em>(request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"aLimit"</span><span style="font-size: 10pt;">)),Integer.<em>parseInt</em>(request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"mSalary"</span><span style="font-size: 10pt;">)),request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"eMail"</span><span style="font-size: 10pt;">),</span><span style="color: #2a00ff; font-size: 10pt;">"TODO"</span><span style="font-size: 10pt;">,</span><span style="color: #2a00ff; font-size: 10pt;">"TODO"</span><p align="left"><span style="font-size: 10pt;">);<span style="font-size: 2;"><p align="left">Map<String, Object> params = </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><p align="left"><span style="font-size: 10pt;"> HashMap<String, Object>();<span style="font-size: 2;"><p align="left">params.put(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"customerProfile"</span><p align="left"><span style="font-size: 10pt;">, customerProfile);<span style="font-size: 2;"><p align="left">params.put(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"employee"</span><span style="font-size: 10pt;">, </span><span style="color: #2a00ff; font-size: 10pt;">"lingaiah"</span><p align="left"><span style="font-size: 10pt;">);<span style="font-size: 2;"><p align="left">params.put(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"reason"</span><span style="font-size: 10pt;">, </span><span style="color: #2a00ff; font-size: 10pt;">"CC Review Process"</span><p align="left"><span style="font-size: 10pt;">);<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><span style="color: #0000c0; font-size: 10pt;">ksession</span><span style="font-size: 10pt;">.startProcess(</span><span style="color: #2a00ff; font-size: 10pt;">"com.sample.bpmn.creditcardissueprocess"</span><p align="left"><span style="font-size: 10pt;">,params);<p align="left">Thread.<em>sleep</em>(200); </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><span style="color: #0000c0; font-size: 10pt;">ksession</span><p align="left"><span style="font-size: 10pt;">.fireAllRules();<p align="left">Thread.<em>sleep</em>(200);</p><p align="left">ut.commit();</p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">//logger.dispose();</span></p></span></p><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span><span style="color: #2a00ff; font-size: 10pt;">"processVariable"</span><p align="left"><span style="font-size: 10pt;">, processInstanceVarible());<span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"message"</span><span style="font-size: 10pt;">, </span><span style="color: #2a00ff; font-size: 10pt;">"Process Created!"</span><p align="left"><span style="font-size: 10pt;">);<span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"processList"</span><p align="left"><span style="font-size: 10pt;">, processInstances());<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">RequestDispatcher rD = request.getRequestDispatcher(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"adminuser.jsp"</span><p align="left"><span style="font-size: 10pt;">);<p align="left">rD.forward(request, response);</p><p align="left">}</p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">else</strong></strong><span style="font-size: 10pt;"> </span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">if</strong></strong><span style="font-size: 10pt;">(action.equals(</span><span style="color: #2a00ff; font-size: 10pt;">"listtasks"</span><p align="left"><span style="font-size: 10pt;">)) {<span style="font-size: 2;"><p align="left">String user = request.getParameter(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"user"</span><p align="left"><span style="font-size: 10pt;">);<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">//UserTransaction <span style="text-decoration: underline;">ut</span> = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );</span></p></span></p><span style=": ; font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">/*<p align="left">* Get all the task assigned to 'user'</p><p align="left">*/</p></span></p></span></p><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left">java.util.List<TaskSummary> tasks = JbpmAPIUtil.<em>getAssignedTasks</em>(user);</p><span style="font-size: 2;"><p align="left">TaskSummary <span style="text-decoration: underline;">task</span> = </p></span></span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">null</strong></strong><p align="left"><span style="font-size: 10pt;">;<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">BlockingTaskOperationResponseHandler <span style="text-decoration: underline;">responseHandler</span> = </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">null</strong></strong><p align="left"><span style="font-size: 10pt;">;<span style="font-size: 2;"><p align="left">ContentData <span style="text-decoration: underline;">contentData</span> = </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">null</strong></strong><p align="left"><span style="font-size: 10pt;">;<span style="font-size: 2;"><p align="left"><span style="text-decoration: underline;">Map</span> <span style="text-decoration: underline;">data</span> = </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><p align="left"><span style="font-size: 10pt;"> <span style="text-decoration: underline;">HashMap</span>();<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">for</strong></strong><p align="left"><span style="font-size: 10pt;"> (TaskSummary taskSummary : tasks) { <span style="font-size: 2;"><p align="left">System.</p></span></span></p><em style="color: #0000c0; font-size: 10pt;"><em style="color: #0000c0; font-size: 10pt;">out</em></em><span style="font-size: 10pt;">.println(taskSummary.getId() + </span><span style="color: #2a00ff; font-size: 10pt;">" : "</span><p align="left"><span style="font-size: 10pt;"> + taskSummary.getActualOwner());<p align="left">}</p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"tasks"</span><p align="left"><span style="font-size: 10pt;">,tasks);<span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"user"</span><p align="left"><span style="font-size: 10pt;">,user);<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"processList"</span><p align="left"><span style="font-size: 10pt;">, processInstances());<span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"processVariable"</span><p align="left"><span style="font-size: 10pt;">, processInstanceVarible());<span style="font-size: 2;"><p align="left">RequestDispatcher rD = request.getRequestDispatcher(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"taskrequest.jsp"</span><p align="left"><span style="font-size: 10pt;">);<p align="left">rD.forward(request, response);</p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left">}</p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">else</strong></strong><span style="font-size: 10pt;"> </span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">if</strong></strong><span style="font-size: 10pt;">(action.equals(</span><span style="color: #2a00ff; font-size: 10pt;">"Submit"</span><p align="left"><span style="font-size: 10pt;">)) {<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">UserTransaction ut = (UserTransaction) </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><span style="font-size: 10pt;"> InitialContext().lookup( </span><span style="color: #2a00ff; font-size: 10pt;">"java:comp/UserTransaction"</span><p align="left"><span style="font-size: 10pt;"> );<p align="left">ut.begin();</p><span style="font-size: 2;"><p align="left">String user = request.getParameter(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"user"</span><p align="left"><span style="font-size: 10pt;">);<span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">/*<p align="left">* Get all the task assigned to 'user'</p><p align="left">*/</p></span></p></span></p><span style=": ; font-size: 2;"><p align="left">CustomerProfile data = </p></span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><p align="left"><span style="font-size: 10pt;"> CustomerProfile();<span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">/*data.put("priority",request.getParameter("priority"));<p align="left">data.put("modelNumber",request.getParameter("modelNumber"));</p><p align="left">data.put("quantity",request.getParameter("quantity"));*/</p></span></p></span></p><span style=": ; font-size: 2;"><p align="left">data.setfName(request.getParameter(</p></span><span style="color: #2a00ff; font-size: 10pt;">"fName"</span><p align="left"><span style="font-size: 10pt;">));<span style="font-size: 2;"><p align="left">data.setlName(request.getParameter(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"lName"</span><p align="left"><span style="font-size: 10pt;">));<span style="font-size: 2;"><p align="left">data.setAppliedLimit(Integer.<em>parseInt</em>(request.getParameter(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"aLimit"</span><p align="left"><span style="font-size: 10pt;">)));<span style="font-size: 2;"><p align="left">data.setMonthlySalary(Integer.<em>parseInt</em>(request.getParameter(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"mSalary"</span><p align="left"><span style="font-size: 10pt;">)));<span style="font-size: 2;"><p align="left">data.seteMail(request.getParameter(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"eMail"</span><p align="left"><span style="font-size: 10pt;">));<span style="font-size: 2;"><p align="left">System.</p></span></span></p><em style="color: #0000c0; font-size: 10pt;"><em style="color: #0000c0; font-size: 10pt;">out</em></em><span style="font-size: 10pt;">.println(</span><span style="color: #2a00ff; font-size: 10pt;">"lingarao : "</span><span style="font-size: 10pt;">+request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"reviewStatus"</span><p align="left"><span style="font-size: 10pt;">));<span style="font-size: 2;"><p align="left">data.setReviewStatus(request.getParameter(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"reviewStatus"</span><p align="left"><span style="font-size: 10pt;">));<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">Long processId = </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><span style="font-size: 10pt;"> Long((String)request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"processId"</span><p align="left"><span style="font-size: 10pt;">));<span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">// StatefulKnowledgeSession <span style="text-decoration: underline;">ksession</span> = JbpmAPIUtil.getSession();</span></p></span></p><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">// JPAWorkingMemoryDbLogger logger = new JPAWorkingMemoryDbLogger (<span style="text-decoration: underline;">ksession</span>);</span></p></span></p><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">// processInstaceLogger = new JPAProcessInstanceDbLog (ksession.getEnvironment());</span></p></span></p><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">WorkflowProcessInstance process = (WorkflowProcessInstance)</p></span></span><span style="color: #0000c0; font-size: 10pt;">ksession</span><p align="left"><span style="font-size: 10pt;">.getProcessInstance(processId);<span style="font-size: 2;"><p align="left">((CustomerProfile)process.getVariable(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"customerProfile"</span><span style="font-size: 10pt;">)).setReviewStatus(request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"reviewStatus"</span><p align="left"><span style="font-size: 10pt;">));;<span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">if</strong></strong><span style="font-size: 10pt;">((request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"reviewStatus"</span><span style="font-size: 10pt;">).equalsIgnoreCase(</span><span style="color: #2a00ff; font-size: 10pt;">"Accepted"</span><p align="left"><span style="font-size: 10pt;">))){ <span style="font-size: 2;"><p align="left">((CustomerProfile)process.getVariable(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"customerProfile"</span><span style="font-size: 10pt;">)).setCardIssueStatus(</span><span style="color: #2a00ff; font-size: 10pt;">" Accepted by manual process , submitted to CC fulfillment process."</span><p align="left"><span style="font-size: 10pt;">);<span style="font-size: 2;"><p align="left">}</p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">else</strong></strong><p align="left"><span style="font-size: 10pt;"> {<span style="font-size: 2;"><p align="left">((CustomerProfile)process.getVariable(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"customerProfile"</span><span style="font-size: 10pt;">)).setCardIssueStatus(</span><span style="color: #2a00ff; font-size: 10pt;">" Rejeected by manual process , sent status email"</span><p align="left"><span style="font-size: 10pt;">);<p align="left">}</p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">long</strong></strong><span style="font-size: 10pt;"> taskId = </span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">new</strong></strong><span style="font-size: 10pt;"> Long(request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"taskId"</span><p align="left"><span style="font-size: 10pt;">)).longValue();<span style="font-size: 2;"><p align="left">String taskStatus = request.getParameter(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"taskStatus"</span><p align="left"><span style="font-size: 10pt;">);<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">if</strong></strong><span style="font-size: 10pt;"> (!taskStatus.equals(</span><span style="color: #2a00ff; font-size: 10pt;">"Completed"</span><p align="left"><span style="font-size: 10pt;">))<p align="left">JbpmAPIUtil.<em>completeTask</em>(taskId, data, user);</p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">// request.setAttribute("processList", processInstances());</span></p></span></p><span style="font-size: 10pt;"><p align="left">ut.commit();</p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">//logger.dispose();</span></p></span></p><span style=": ; font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">//processInstaceLogger.dispose();</span></p></span></p><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">//request.setAttribute("tasks",tasks);</span></p></span></p><span style=": ; font-size: 2;"><p align="left">request.setAttribute(</p></span><span style="color: #2a00ff; font-size: 10pt;">"processVariable"</span><p align="left"><span style="font-size: 10pt;">, processInstanceVarible());<span style="font-size: 2;"><p align="left">RequestDispatcher rD = request.getRequestDispatcher(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"index.jsp"</span><p align="left"><span style="font-size: 10pt;">);<p align="left">rD.forward(request, response); </p><p align="left">}</p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">else</strong></strong><span style="font-size: 10pt;"> </span><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">if</strong></strong><span style="font-size: 10pt;">(action.equals(</span><span style="color: #2a00ff; font-size: 10pt;">"taskinit"</span><p align="left"><span style="font-size: 10pt;">)){<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"taskId"</span><span style="font-size: 10pt;">,request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"taskId"</span><p align="left"><span style="font-size: 10pt;">));<span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"taskStatus"</span><span style="font-size: 10pt;">,request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"taskStatus"</span><p align="left"><span style="font-size: 10pt;">));<span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"user"</span><span style="font-size: 10pt;">,request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"user"</span><p align="left"><span style="font-size: 10pt;">));<span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"processId"</span><span style="font-size: 10pt;">,request.getParameter(</span><span style="color: #2a00ff; font-size: 10pt;">"processId"</span><p align="left"><span style="font-size: 10pt;">));<p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><span style="font-size: 2;"><p align="left">request.setAttribute(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"processVariable"</span><p align="left"><span style="font-size: 10pt;">, processInstanceVarible());<span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><p align="left"><span style="color: #3f7f5f; font-size: 10pt;"><p align="left"><span style="color: #3f7f5f; font-size: 10pt;">// request.setAttribute("processList", processInstances());</span></p></span></p><span style=": ; font-size: 2;"><p align="left">RequestDispatcher rD = request.getRequestDispatcher(</p></span><span style="color: #2a00ff; font-size: 10pt;">"initialrequest.jsp"</span><p align="left"><span style="font-size: 10pt;">);<p align="left">rD.forward(request, response); </p><p align="left">}</p><span style="font-size: 2;"><p align="left">} </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">catch</strong></strong><p align="left"><span style="font-size: 10pt;">(Exception e){<span style="font-size: 2;"><p align="left">out.println(</p></span></span></p><span style="color: #2a00ff; font-size: 10pt;">"Error:"</span><p align="left"><span style="font-size: 10pt;">+ e.getMessage().toString());<p align="left">}</p><span style="font-size: 2;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><strong style="color: #7f0055; font-size: 10pt;"><strong style="color: #7f0055; font-size: 10pt;">finally</strong></strong><p align="left"><span style="font-size: 10pt;"> {<p align="left">out.close();</p><p>}</p></span></p></p></p><div class="mcePaste" id="_mcePaste" style="position: absolute; top: 0px; left: 0px;"></div><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p></p><p></p><p>-Regards,</p><p>Lingaiah.S</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/752576#752576">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM Development at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2035">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>