Is that a way to pass context variable into ECA

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Is that a way to pass context variable into ECA

twosolution
Hi,

i would like to create a SECA that are triggered when
service=createProduct committed
it will trigger addPartyToProduct

and the service required two mandatory field
partyId and roleTypeId

i would like to know how do i pass in the value of these two fields into
context.
and then retrieve the value into secas.xml, where upon i defined the ECA

<eca service="createProduct" event="commit">
         <set field-name="partyId" env-name="${userLogin.partyId}"/>
         <set field-name="roleTypeId" value="MANUFACTURER"/>
         <action service="addPartyToProduct" mode="sync"/>
</eca>

I had done some debug.
The context variable that are variable during ECA
is found in

trunk = ServiceDispatcher.java [340]
context = checkAuth(localName, context, modelService);

and at line [460]
ecaContext = FastMap.newInstance();

Thank you
Regards,
Jen Sing


Disclaimer : This E-mail is intended only for the use of the individual or entity named above and may contain information that is confidential. If you are not the intended recipients, please immediately notify us by return email and delete it from your system. Any unauthorised dissemination, distribution or copying of this email is strictly prohibited. Thank You.


Reply | Threaded
Open this post in threaded view
|

Re: Is that a way to pass context variable into ECA

Jacques Le Roux
Administrator
You need to use result-to-context="true"

Jacques

ChoeJenSing wrote:

> Hi,
>
> i would like to create a SECA that are triggered when
> service=createProduct committed
> it will trigger addPartyToProduct
>
> and the service required two mandatory field
> partyId and roleTypeId
>
> i would like to know how do i pass in the value of these two fields into
> context.
> and then retrieve the value into secas.xml, where upon i defined the ECA
>
> <eca service="createProduct" event="commit">
>         <set field-name="partyId" env-name="${userLogin.partyId}"/>
>         <set field-name="roleTypeId" value="MANUFACTURER"/>
>         <action service="addPartyToProduct" mode="sync"/>
> </eca>
>
> I had done some debug.
> The context variable that are variable during ECA
> is found in
>
> trunk = ServiceDispatcher.java [340]
> context = checkAuth(localName, context, modelService);
>
> and at line [460]
> ecaContext = FastMap.newInstance();
>
> Thank you
> Regards,
> Jen Sing
>
>
> Disclaimer : This E-mail is intended only for the use of the individual or entity named above and may contain information that is
> confidential. If you are not the intended recipients, please immediately notify us by return email and delete it from your
> system. Any unauthorised dissemination, distribution or copying of this email is strictly prohibited. Thank You.
Reply | Threaded
Open this post in threaded view
|

Re: Is that a way to pass context variable into ECA

Jacques Le Roux
Administrator
In reply to this post by twosolution
Forgot: to retrieve you have to use condition or condition-field. There are no other ways to use your vars

Last but not least: it's easier to work with an XML editor with completion...

Jacques

Jacques Le Roux wrote:

> You need to use result-to-context="true"
>
> Jacques
>
> ChoeJenSing wrote:
>> Hi,
>>
>> i would like to create a SECA that are triggered when
>> service=createProduct committed
>> it will trigger addPartyToProduct
>>
>> and the service required two mandatory field
>> partyId and roleTypeId
>>
>> i would like to know how do i pass in the value of these two fields into
>> context.
>> and then retrieve the value into secas.xml, where upon i defined the ECA
>>
>> <eca service="createProduct" event="commit">
>>         <set field-name="partyId" env-name="${userLogin.partyId}"/>
>>         <set field-name="roleTypeId" value="MANUFACTURER"/>
>>         <action service="addPartyToProduct" mode="sync"/>
>> </eca>
>>
>> I had done some debug.
>> The context variable that are variable during ECA
>> is found in
>>
>> trunk = ServiceDispatcher.java [340]
>> context = checkAuth(localName, context, modelService);
>>
>> and at line [460]
>> ecaContext = FastMap.newInstance();
>>
>> Thank you
>> Regards,
>> Jen Sing
>>
>>
>> Disclaimer : This E-mail is intended only for the use of the individual or entity named above and may contain information that is
>> confidential. If you are not the intended recipients, please immediately notify us by return email and delete it from your
>> system. Any unauthorised dissemination, distribution or copying of this email is strictly prohibited. Thank You.
Reply | Threaded
Open this post in threaded view
|

Re: Is that a way to pass context variable into ECA

twosolution
Hi,

the attribute result-to-context="true" are defaulted true.
i able to get the userLogin vars and also the result from the createProduct

you were saying, there is no other ways to populate extra vars inside
the context ?
is it possible to pass in extra or custom vars into the context, in
which it can be available in eca ?


Thank you

On 9/5/2013 1:40 PM, Jacques Le Roux wrote:

> Forgot: to retrieve you have to use condition or condition-field. There are no other ways to use your vars
>
> Last but not least: it's easier to work with an XML editor with completion...
>
> Jacques
>
> Jacques Le Roux wrote:
>> You need to use result-to-context="true"
>>
>> Jacques
>>
>> ChoeJenSing wrote:
>>> Hi,
>>>
>>> i would like to create a SECA that are triggered when
>>> service=createProduct committed
>>> it will trigger addPartyToProduct
>>>
>>> and the service required two mandatory field
>>> partyId and roleTypeId
>>>
>>> i would like to know how do i pass in the value of these two fields into
>>> context.
>>> and then retrieve the value into secas.xml, where upon i defined the ECA
>>>
>>> <eca service="createProduct" event="commit">
>>>          <set field-name="partyId" env-name="${userLogin.partyId}"/>
>>>          <set field-name="roleTypeId" value="MANUFACTURER"/>
>>>          <action service="addPartyToProduct" mode="sync"/>
>>> </eca>
>>>
>>> I had done some debug.
>>> The context variable that are variable during ECA
>>> is found in
>>>
>>> trunk = ServiceDispatcher.java [340]
>>> context = checkAuth(localName, context, modelService);
>>>
>>> and at line [460]
>>> ecaContext = FastMap.newInstance();
>>>
>>> Thank you
>>> Regards,
>>> Jen Sing
>>>
>>>
>>> Disclaimer : This E-mail is intended only for the use of the individual or entity named above and may contain information that is
>>> confidential. If you are not the intended recipients, please immediately notify us by return email and delete it from your
>>> system. Any unauthorised dissemination, distribution or copying of this email is strictly prohibited. Thank You.
>


Disclaimer : This E-mail is intended only for the use of the individual or entity named above and may contain information that is confidential. If you are not the intended recipients, please immediately notify us by return email and delete it from your system. Any unauthorised dissemination, distribution or copying of this email is strictly prohibited. Thank You.


Reply | Threaded
Open this post in threaded view
|

Re: Is that a way to pass context variable into ECA

Jacques Le Roux
Administrator
ChoeJenSing wrote:
> Hi,
>
> the attribute result-to-context="true" are defaulted true.
> i able to get the userLogin vars and also the result from the createProduct
>
> you were saying, there is no other ways to populate extra vars inside
> the context ?

Not to populate, to retrieve. You can pass a value with smthg like
<set field-name="" env-name="" value=""/>

Jacques


> is it possible to pass in extra or custom vars into the context, in
> which it can be available in eca ?
>
>
> Thank you
>
> On 9/5/2013 1:40 PM, Jacques Le Roux wrote:
>> Forgot: to retrieve you have to use condition or condition-field. There are no other ways to use your vars
>>
>> Last but not least: it's easier to work with an XML editor with completion...
>>
>> Jacques
>>
>> Jacques Le Roux wrote:
>>> You need to use result-to-context="true"
>>>
>>> Jacques
>>>
>>> ChoeJenSing wrote:
>>>> Hi,
>>>>
>>>> i would like to create a SECA that are triggered when
>>>> service=createProduct committed
>>>> it will trigger addPartyToProduct
>>>>
>>>> and the service required two mandatory field
>>>> partyId and roleTypeId
>>>>
>>>> i would like to know how do i pass in the value of these two fields into
>>>> context.
>>>> and then retrieve the value into secas.xml, where upon i defined the ECA
>>>>
>>>> <eca service="createProduct" event="commit">
>>>>          <set field-name="partyId" env-name="${userLogin.partyId}"/>
>>>>          <set field-name="roleTypeId" value="MANUFACTURER"/>
>>>>          <action service="addPartyToProduct" mode="sync"/>
>>>> </eca>
>>>>
>>>> I had done some debug.
>>>> The context variable that are variable during ECA
>>>> is found in
>>>>
>>>> trunk = ServiceDispatcher.java [340]
>>>> context = checkAuth(localName, context, modelService);
>>>>
>>>> and at line [460]
>>>> ecaContext = FastMap.newInstance();
>>>>
>>>> Thank you
>>>> Regards,
>>>> Jen Sing
>>>>
>>>>
>>>> Disclaimer : This E-mail is intended only for the use of the individual or entity named above and may contain information that
>>>> is confidential. If you are not the intended recipients, please immediately notify us by return email and delete it from your
>>>> system. Any unauthorised dissemination, distribution or copying of this email is strictly prohibited. Thank You.
>>
>
>
> Disclaimer : This E-mail is intended only for the use of the individual or entity named above and may contain information that is
> confidential. If you are not the intended recipients, please immediately notify us by return email and delete it from your
> system. Any unauthorised dissemination, distribution or copying of this email is strictly prohibited. Thank You.