<!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.x to 5 migration path
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/sasir">Sasi R</a> in <i>jBPM Development</i> - <a href="http://community.jboss.org/message/593832#593832">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p> Thanks Salatino for replying. We have a web application and in the startup we are laoding  the users and groups mappings from external source and are using that information while getting the groups related to users, and the specific roles, etc</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>I see that we have classes under org.jbpm.userprofile package but they look into the underlying task server DB as per my understanding. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>How can the case be implemented where in we create the user mappings from external source data</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>*****************Sampel code***************************</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>JbpmConfiguration jbpmConfiguration = null;<br/>JbpmContext jbpmContext = null;<br/>  <br/>  try{<br/>  jbpmConfiguration = JbpmConfiguration.parseResource("jbpm.cfg.xml");<br/>  jbpmContext = jbpmConfiguration.createJbpmContext();<br/>  <br/>  <br/>  /*<br/>        Creating groups and users  <br/>     */<br/>        IdentitySession identitySession = new IdentitySession(jbpmContext.getSession());<br/>        java.util.List userList = new java.util.ArrayList();<br/>        java.util.List userListIs = identitySession.getUsers();<br/>        for (int i=0;i<userListIs.size(); i++) {<br/>           User user = (User)userListIs.get(i);<br/>           userList.add(user.getName());<br/>        }<br/>        <br/>              <br/>        jbpmContext.getSession().flush();<br/>        //Transaction transaction = jbpmContext.getSession().beginTransaction();<br/>        <br/>        System.out.println("################## Loading Test users and Groups #################");<br/>       <br/>        <br/>        Group  CA_ANALYST = identitySession.getGroupByName("CA_ANALYST");<br/>        if(CA_ANALYST == null){        <br/>         identitySession.saveEntity(new Group("CA_ANALYST"));   </p><p>         transactionCommit = true;<br/>        } </p><div class="mcePaste" id="_mcePaste" style="left: -10000px; overflow: hidden; width: 1px; position: absolute; top: 0px; height: 1px;"></div><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p> if(!userList.contains("analyst1")){<br/>         User analystUser = new  User("analyst");<br/>         adminUser.setEmail("<a class="jive-link-email-small" href="mailto:user.admin@company.com">user.admin@company.com</a>");<br/>         adminUser.setPassword("analyst");<br/>         identitySession.saveEntity(analystUser);<br/>         identitySession.saveEntity(Membership.create(identitySession.getUserByName("analyst"),identitySession.getGroupByName("CA_ANALYST")));<br/>         transactionCommit = true;<br/>  }</p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="color: #0000c0; font-size: 10pt;"> </span> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="color: #7f0055; font-size: 10pt;"> </span> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="color: #7f0055; font-size: 10pt;"> </span><span style="color: #7f0055; font-size: 10pt;"> </span> </p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="color: #7f0055; font-size: 10pt;"> </span> </p><p><span style=": ; font-size: 2;"><p align="left">System.</p></span><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;">"################## Done Loading Test users and Groups! #################"</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">} </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) {<p align="left">e.printStackTrace();</p><p align="left">Throwable t = e;</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;">while</strong></strong><span style="font-size: 10pt;"> (t.getCause() != </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">t = t.getCause();</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">}</p></span></span></p><a class="jive-link-anchor-small">#</a><a class="jive-link-anchor-small">#</a><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">jbpmContext.close();</p><p>}</p><span style="font-size: 2;"><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></span></span></p><br/>              </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>public static List getRolesUserBelongingTo(String userName,JbpmContext jbpmContext){ <br/>  List rolesList = new ArrayList();<br/>  <br/>  try{<br/>   IdentitySession identitySession = new IdentitySession(jbpmContext.getSession());<br/>   User user = identitySession.getUserByName(userName);<br/>   Set roleSet = user.getMemberships();<br/>   if(roleSet != null){<br/>    Iterator iter = roleSet.iterator();<br/>       while (iter.hasNext()) {<br/>        Membership membership = (Membership) iter.next();<br/>        String role = membership.getRole();<br/>        if(role != null){<br/>         rolesList.add(role);<br/>        }<br/>       }<br/>   }<br/>   //identitySession.close();<br/>  }catch(Exception ex){<br/>   ex.printStackTrace();<br/>  }<br/>  return rolesList;<br/>  <br/> }<br/> </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/593832#593832">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM Development at <a href="http://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>