Bug 961530 - Please allow user direct access to "bpmToEsbVars" and "esbToBpmVars" in sub-classes of EsbActionHandler
Summary: Please allow user direct access to "bpmToEsbVars" and "esbToBpmVars" in sub-...
Keywords:
Status: NEW
Alias: None
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: JBossESB
Version: 5.3.1
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Rick Wagner
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 966231
TreeView+ depends on / blocked
 
Reported: 2013-05-09 20:25 UTC by Rick Wagner
Modified: 2019-02-15 13:33 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 966231 (view as bug list)
Environment:
Last Closed:
Type: Support Patch
Embargoed:


Attachments (Terms of Use)

Description Rick Wagner 2013-05-09 20:25:07 UTC
This BZ is related to the following BZs:

https://bugzilla.redhat.com/show_bug.cgi?id=896634
https://bugzilla.redhat.com/show_bug.cgi?id=896640
https://bugzilla.redhat.com/show_bug.cgi?id=902888

The customer is unhappy with the solution provided in the above.  They wish to sub-class EsbActionHandler and manipulate variables individually.  

The customer describes how the did it in 4.3, but not in 5.x:
------------------------------------------------------------------------------
Here is the code from the 4.3.0 CP05 version of the EsbActionHandler:

protected EPR createReplyTo(String esbToJBpmXml, Boolean globalProcessScope, ExecutionContext executionContext)
    {
        EPR replyTo = new LogicalEPR(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, JBpmCallback.JBPM_CALL_BACK_SERVICE_NAME);
        PortReference portReference = replyTo.getAddr();
        if (esbToJBpmXml!=null) {
            portReference.addExtension(Constants.ESB_TO_BPM_VARS_TAG, esbToJBpmXml);
        }
        if (globalProcessScope!=null) {
            portReference.addExtension(Constants.PROCESS_SCOPE_ATTR, globalProcessScope.toString());
        }
...

and here is the code from the 5.3.0 version of the same class:

protected EPR createReplyTo(String esbToJBpmXml, Boolean globalProcessScope, ExecutionContext executionContext)
    {
        EPR replyTo = new LogicalEPR(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, JBpmCallback.JBPM_CALL_BACK_SERVICE_NAME);
        PortReference portReference = replyTo.getAddr();
        if (globalProcessScope!=null) {
            portReference.addExtension(Constants.PROCESS_SCOPE_ATTR, globalProcessScope.toString());
        }
--------------------------------------------------------------------------

The customer's specific complaints about the fix provided by the above BZs:

****************************************************************
Concerning the mapping of variables, I think that it worth a patch as only "half the job" has been done. Effectively being able to set variables mapping during the execution of the action is really useful and may be mandatory depending on the process. Here are some of the issues the current solution may cause:

- really overloading our process definitions as all the possible variables must be defined within it and due to that, they are a lot less readable. In addition to that, the size of the message/executing context will remain bigger and will take more space in the  JBPM or ESB database. This could cause issues in several of our customers having a lot of processes generated on a regular basis.

- introducing more human error possibilities as no default variables mapping may be defined through a default abstract action behavior.

- giving a lot less flexibility.

******************************************************************


Please consider, look for another way to restore the functionality the customer desires.

Thank you,

Rick

Comment 1 Rick Wagner 2013-07-26 15:06:22 UTC
Needs more input from GSS.

GSS (Rick) to read customer comments and better explain the desired implementation.


Note You need to log in before you can comment on or make changes to this bug.