Hi Adrian,

This type of pattern is pretty heavily used throughout the codebase isn't it?  
While updating a status history table might not be the best use of it, it does 
still serve as an example of that pattern.  Couldn't it be fixed by including 
an is-not-empty condition?

Thanks
Scott

On 24/10/2012, at 12:40 AM, adri...@apache.org wrote:

> Author: adrianc
> Date: Tue Oct 23 11:40:51 2012
> New Revision: 1401254
> 
> URL: http://svn.apache.org/viewvc?rev=1401254&view=rev
> Log:
> Commented out a bad ECA in the Example component that was causing exceptions 
> to be thrown in the updateExample service.
> 
> Modified:
>    ofbiz/trunk/specialpurpose/example/servicedef/secas.xml
> 
> Modified: ofbiz/trunk/specialpurpose/example/servicedef/secas.xml
> URL: 
> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/example/servicedef/secas.xml?rev=1401254&r1=1401253&r2=1401254&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/example/servicedef/secas.xml (original)
> +++ ofbiz/trunk/specialpurpose/example/servicedef/secas.xml Tue Oct 23 
> 11:40:51 2012
> @@ -23,8 +23,13 @@ under the License.
>     <eca service="createExample" event="return">
>         <action service="createExampleStatus" mode="sync"/>
>     </eca>
> +    <!-- FIXME: This ECA assumes the updateExample service was called with a 
> statusId parameter.
> +         The ECAs in this file demonstrate a bad design pattern. The action 
> services should be
> +         invoked within the called service, not invoked by ECAs. -->
> +    <!--
>     <eca service="updateExample" event="return">
>         <condition-field field-name="statusId" operator="not-equals" 
> to-field-name="oldStatusId"/>
>         <action service="createExampleStatus" mode="sync"/>
>     </eca>
> +    -->
> </service-eca>
> 
> 

Reply via email to