Re: JESS: Updating shadow facts from object copies

2007-12-11 Thread Wolfgang Laun
I have understood Will's problem to be within a single Rete object. Basically, the Rete.add() method returns a reference to the created jess.Fact. As a shadow fact in good standing it'll have a slot OBJECT containing a reference to the original Java object. Therefore, the original object is

RE: JESS: Updating shadow facts from object copies

2007-12-11 Thread Will Edwards
Wolfgang is correct, we have a single Rete instance. He is also correct in that we can always obtain a reference to the original object via the shadow fact, or some other way. The problem is that when an update happens to an object a new copy of the updated object is passed. So, we have two

Re: JESS: Updating shadow facts from object copies

2007-12-11 Thread Jason Morris
Hi Wolfgang, Privately, I've pointed this out to Will as well, but apparently that still doesn't solve his issue. Does anyone out there have any experience in integrating a JavaSpaces implementation such as GigaSpaces with Jess proper? The basic question, apart from Will's current

RE: JESS: Updating shadow facts from object copies

2007-12-11 Thread Will Edwards
In my opinion, it's probably not a good idea to get too wrapped up with the JavaSpaces implementation detail, since the general problem could happen in a number of ways via DB triggers, rpc by copies, persistence mechanisms, or any number of other ways. They all could lead to the same situation

Re: JESS: Updating shadow facts from object copies

2007-12-11 Thread Ernest Friedman-Hill
Hi Will, There are three parts of this problem: 1) Given the copied object, identifying the existing object that corresponds to it. This could be tricky unless the objects have some kind of id. You didn't mention this being a problem, so I'm going to assume it's solved. 2) Updating the

RE: JESS: Updating shadow facts from object copies

2007-12-11 Thread Will Edwards
That sounds exactly right, we did indeed try and modify the OBJECT slot, and yes it failed in a pretty emphatic way. I'm pretty sure we got it right because other slot modifications using the same mechanism worked correctly. We're currently getting our license and will work on this integration