polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kent Sølvsten <kent.soelvs...@gmail.com>
Subject Death to ModuleEntityStoreUnitOfWork
Date Wed, 26 Aug 2015 20:22:16 GMT
Hi

I just pushed a new branch removing ModuleEntityStoreUnitOfWork.

After reading some code I found that Module was almost unused within the
EntityStoreUnitOfWorks - after a recent bugfix by Niclas we usually
supply the module as argument instead of using instance variables.
The only usage left was for concurrency checking - The module was used
for deserializing current persistent state and extracting the current
version from it.
Instead I added
EntityStoreUnitOfWork#versionOf(EntityReference) and
EntityStoreSPI#versionOf( EntityStoreUnitOfWork, EntityReference)

since those can be implemented without deserializing and thus without
using any module.

That allowed to get rid of ModuleEntityStoreUnitOfWork altogether.

I believe it to be a nice simplification - it is sometimes hard to see
when a module is used as "the calling module" and when it is
"the-module-holding-the-entity".

The changes are committed to a separate branch module_entitystore_uow
and pushed - to avoid collisions with the current streaming effort.

Feel free to take a look and comment. If noone objects, i will try to
merge it, some time after the streaming effort is completed.

/Kent


Mime
View raw message