On Fri, Apr 17, 2009 at 10:18 AM, Rickard Öberg <[email protected]> wrote:

> Load Entity 123 with x=1,y="Foo"
> Change x->3
> Refresh 123. x had been changed to 5 and y to "Bar"
> Replay events for 123
> Entity 123 now has state x=3 and y="Bar", i.e. the merge between the new
> state and the updated local state.
> User is happy and completes() UoW
> In store that data is now: 123: x=3, y="Bar"

Hmmm....???  I am skeptical... mostly since I don't think that real
cases are this neat and can be easily understood. I am more concerned
over 'cause and effect'. Setting x->3 above could very well be due to
the fact that y="Foo". How is that handled? Then it is nothing related
to merge, but running through the code again (unless the mutation code
are small objects that are put into the UoW, as discussed previously).
And since we need to support that, the 'merge' case is barely needed.
Providing the 'merge' facility may even cause more damage to our
reputation, since it might be overused and causing inconsistencies all
over the place (esp if run 'automated' without user interactions),
easily blamed on a 'flawed Qi4j model'.


Cheers
-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

I  live here; http://tinyurl.com/2qq9er
I  work here; http://tinyurl.com/2ymelc
I relax here; http://tinyurl.com/2cgsug

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to