ofbiz-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacques Le Roux (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (OFBIZ-3847) Entity ECAs not triggered correctly when using Delegator.storeAll() method
Date Tue, 17 Nov 2015 09:52:10 GMT

    [ https://issues.apache.org/jira/browse/OFBIZ-3847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15008387#comment-15008387
] 

Jacques Le Roux edited comment on OFBIZ-3847 at 11/17/15 9:51 AM:
------------------------------------------------------------------

Hi Anne,

I have updated your patch. Did you encounter any issues with it?


was (Author: jacques.le.roux):
Hi Anne,

I have updated your patch. Did you encouter any issues with it?

> Entity ECAs not triggered correctly when using Delegator.storeAll() method
> --------------------------------------------------------------------------
>
>                 Key: OFBIZ-3847
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-3847
>             Project: OFBiz
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: Release Branch 10.04
>            Reporter: Martin Kreidenweis
>         Attachments: GenericDelegator.java.diff, OFBIZ-3847_Entity-ECAs-not-triggered-correctly.patch,
OFBIZ-3847_Entity-ECAs-not-triggered-correctly.patch
>
>
> The conditions don't work when updating (not creating) entities using the Delegator.storeAll()
method. E.g. the following condition does not work:
> {code}
> <eca entity="Product" operation="create-store" event="return">
>         <condition field-name="autoCreateKeywords" operator="not-equals" value="N"/>
>         <action service="indexProductKeywords" mode="sync" value-attr="productInstance"/>
> </eca>
> {code}
> The indexProductKeywords service is called anyway when the product is updated and the
autoCreateKeywords was "N" and stays "N". It works correctly for newly created products. 
> The problem is in the method GenericDelegator.storeAll(), where unchanged field values
are not passed down to the store() method. The store method calls the ECA engine, which does
not receive the unchanged values at all and thus cannot evaluate the EECA conditions correctly.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message