<!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: Get Activity Coordinates
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/zabalet">Marcelo Zabalet</a> in <i>jBPM</i> - <a href="https://community.jboss.org/message/790133#790133">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Ah, ok, I understand, I thought you was interested on the active nodes of an instance, and I see now you are interested on all nodes of a process definition.</p><p>I IMHO I suggest two ways.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>One is expose the bpmn file to the front end because this file is a standard and has a lot of sense to use it directly for a RIA. It is relative simple to extract diagram information and parsing it with javascript.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The other way is using the api, this has sense too because this way you have only one authorithy of information in your system and some more control. Moreover, if you need another runtime information, you must go this way.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Here some sample code. I'm not yet using it... take it with care</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Somewhere in your code you have surely something like this...</p><p>&#160; </p><p>org.drools.builder.KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();</p><p>org.drools.KnowledgeBase knowledgeBase = builder.newKnowledgeBase();</p><p>// add some process definitions</p><p>// builder.add(resource, ResourceType.BPMN2);</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>org.drools.runtime.StatefulKnowledgeSession knowledgeSession = JPAKnowledgeService.newStatefulKnowledgeSession(knowledgeBase, null, env);</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Then, you can do something like this:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>// import org.drools.definition.process.Process</p><p>Process process = knowledgeBase.getProcess("the.process.definition.id.you.are.interested.in");</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>You could find a lot of info inside process object, ie:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>// import org.jbpm.workflow.core.impl.NodeImpl</p><p>// import org.jbpm.workflow.core.impl.WorkflowProcessImpl</p><p>for (NodeImpl nodeImpl : (NodeImpl[]) ((WorkflowProcessImpl) process).getNodes()) {</p><p>&#160;&#160;&#160; node.getMetaData().get("height");</p><p>&#160;&#160;&#160; node.getName();</p><p>}</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/790133#790133">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="https://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>