A general rule for EECAs and SECAs that may or may not apply here (not enough info to tell):

- EECAs are for maintaining derived data like a total field or a keyword index

- SECAs are for triggering business processes based on business events

If you use either one for the other's purpose you'll likely run into trouble. It can work, but it's like using a hammer instead of a screw driver to put a screw into something... it's just the wrong tool.

As for updating an entity in a service triggered by an EECA on that entity... I'd be interested in hearing what you are trying to do. It's either the wrong tool, a bad data structure, or a simple lack of having a condition to see if a change happened that would require the ECA to run (or whatever condition would distinguish the before and after states).

HTH as it's a shot in the dark ;)

-David


On Feb 7, 2009, at 7:27 AM, Bruno Busco wrote:

Yes,
your solution makes sense.
I have another eecas related question.

I am facing a case in which in an "create-store" eeca I need to update
the entity content itself.
So an endless loop happens.

Is there a way to hinibit the eeca retrigger due to an entity store in
the eeca itself?

Many thanks,
Bruno

2009/2/7 Nikita Shinde <nik...@amicontech.com>:
Hi Jacques,

I wanted to track the history of changes(CUD) made to any entity
and who made those changes. So I wrote a service to do that which was
triggered by eecas on that entity. But in my service I could never get the current logged in user who was making those changes, it always gave me
admin(because in my entity-eca.xsd its set to admin).

      I had a work around for this by using secas instead.

Regards,
Nikita.

-----Original Message-----
From: Jacques Le Roux [mailto:jacques.le.r...@les7arts.com]
Sent: Thursday, February 05, 2009 5:34 AM
To: user@ofbiz.apache.org
Subject: Re: Question related to eecas

Hi Nikita,

"run-as-user" is defaulted to "system" not admin for some times now (see
entity-eca.xsd).
I think you should poke into EntityEcaAction.java around line 80 and change
their for your purpose.
BTW, it's weird to use an EECA with an user different than system, what is
the purpose ?

Jacques

From: "Nikita Shinde" <nik...@amicontech.com>
Hello All,



When I trigger a service on an eecas, I always get userLogin
as
"admin" which is correct because "run-as-user" being defaulted to "admin".



But in the triggered service, I want the userLogin to be the
existing logged in user, is there a way to get that?





Kind Regards,

Nikita Shinde

Amicon Technologies Pvt. Ltd., Mumbai, India.







Reply via email to