<!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: Create a new element for all nodes
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/mwohlf">Michael Wohlfart</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/561954#561954">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 have a similar requirement for my project, this is what i learned, if someone has some better ideas please let me know...</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>You can roll your own "nodes" in jBPM by providing your own binding, this means extend JpdlBinding and return an instance of ExternalActivityBehaviour in parseJpdl() (check the source of TaskBinding to see how it is done). To get your nodes parsed you have to add your binding to jbpm.user.bindings.xml in the root of your classpath (check jbpm.jpdl.bindings.xml for the format).</p><p>Transition are special in the sense that there are is no binding for them, they are parsed directly in the JpdlParser, in order to customize transition you need to customize the parser I think.</p><p>However you can add your custom eventlistener to a transition, so I abused an empty eventlistener to get some attributes for my transition. I have a class called TransitionConfig that extends EventListener, TransitionConfig has a custom binding and just an empty notify() method.Getting the config data for a transition is a bit tricky:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive_text_macro">final EventImpl event = transition.getEvent(Event.TAKE);<br/>final List&lt;EventListenerReference&gt; listeners = event.getListenerReferences(); <br/> if (listeners != null) {<br/>&#160;&#160; for (final EventListenerReference reference : listeners) {<br/>&#160;&#160;&#160;&#160; final EventListener listener = reference.getEventListener();<br/>&#160;&#160;&#160;&#160; if (listener instanceof TransitionConfig) {<br/>&#160;&#160;&#160;&#160;&#160;&#160; transitionConfig = (TransitionConfig) listener;<br/>&#160;&#160;&#160;&#160;&#160;&#160; break;<br/>&#160;&#160;&#160;&#160; }<br/>&#160;&#160; }<br/> }</pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>so I admit using an event listener to keep some config data is butt ugly and I am sure i will burn in hell for that, but hacking the parser might be even more tricky, i am open for suggestions...</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/561954#561954">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>