You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@polygene.apache.org by Kent Sølvsten <ke...@gmail.com> on 2015/08/26 22:22:16 UTC

Death to ModuleEntityStoreUnitOfWork

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