<!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: ProcessMgmtFacade.java - Custom REST Call
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/melc">Chris Melas</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/621035#621035">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hello,</p><p>In order to add your own REST API all you have to do, more or less, is to add classes with jax-rs annotations specifying the urls of your services (take a look at the existing ProcessMgmtFacade as well as the modifications done&#160; by priyakpandey to get the idea), in addition take a look in web.xml entries related to jax-rs and resteasy you might need to add something related to your additional url paths. Maybe also add your classes in </p><p>jax-rs Application class org.jboss.bpm.console.server.ConsoleServerApplication as singleton (check the code of ConsoleServerApplication regarding the other jax-rs classes).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Since you use the gwt-console-server API you'll need the objects created inside ProcessMgmtFacade so if you want to change existing functionality the simplest approach is to modify that (by adding new methods or changing existing ones as described in <a class="" href="http://community.jboss.org/message/612597#612597" target="_blank">http://community.jboss.org/message/612597</a>). </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>If you want to use your own class to override functionality you could extend ProcessMgmtFacade with your own class and add all your new logic there. However in order to overide the urls you would have to define the same jax-rs paths in your file and maybe remove the same ones from ProcessMgmtFacade and probably have to modify the jax-rs Application class org.jboss.bpm.console.server.ConsoleServerApplication to add your class as singleton....haven't tried it to be honest and it gets a little messy. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The fact is that on each update of jbpm, since you use the gwt-console-server, whether you make the changes in the existing code or on your own file, you will either have to make those changes or add your file each time. Not a good practice for large scale changes etc indeed but&#160; unfortunately no other extension points, to the existing REST API system i think.</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/621035#621035">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>