On Sun, Apr 5, 2009 at 7:12 PM, Rickard Öberg <[email protected]> wrote: > Niclas Hedhman wrote: >> >> So, I am not that convinced of the "merge"-talks either. >> >> In fact, I am getting more and more into the notion that "mutations" >> should be placed in stand-alone processes, in a such a way that they >> are queueable and re-executable (idempotent). > > With the basic operations being setProperty(value), setAssociation(ref), > addManyAssociation(idx, ref) and removeManyAssociation(ref), I think they > will be idempotent. set are trivially idempotent, addMA is also, since the > association is defined with set semantics, and removeMA is also idempotent > (removeManyAssociation(idx) would not be).
Perhaps I wasn't clear enough. My thinking is like this; The 'mutation process' is the algorithm that covers everything that encapsulates the change. I.e. instead of "Change C.Property1 to 4" it is "Take A.Property3, add B.Property4*2, and set the result in C.Property1". It suits the UnitOfWork thinking quite well, but I have a GutFeeling UoW in Qi4j is 'too flexible' and will allow people to f**k up. And to make something like that work, I think one needs to really go deep into the model and possibly challenge the obvious, since it is somewhat against our way of thinking, where everything is 'transactional'. 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

