polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Massive Refactoring in ZEST-105 branch
Date Thu, 17 Dec 2015 13:25:29 GMT
Sooooo.... I have tried to straighten up the difference between the "Model"
and the "Instances", especially for the ModuleInstance, which was heavily
overloaded with Model stuff.
The interesting bit about the Modules (and Application and Layer too) is
that there is one model and one instance, so it is possible to go from one
to the other and back. Does that sound right?


I have also started to break out the many different Factories that Module
implements. I want to go down the same route as with the UnitOfWork and
make them customizable services.

Anyway, I have pushed this massive changed into the ZEST-105 branch, but it
doesn't pass the tests yet. I had to rewrite a big chunk of the Service
handling, since it felt completely wrong to skip the Model and deal with
ServiceReferences directly. And by doing this, both ImportedServices and
Qualifiers are not working properly. Eyes on this will be (as usual)
greatly appreciated.

Another issue that breaks tests, is that I removed the implicit OrgJson
value serialization, and intend to handle that the same way (what ever that
will be) as EntityStore, UnitOfWorkFactory and other SPI extension
mechanisms. Want uniformity in the SPI.

I have refactored the ValueSerialization so that the ModuleDescriptor is
passed along in the chained calls. What I have NOT done yet, is to lookup
the type to deserialize, get ITS ModuleDescriptor and use that for the
nested type and so on. I am pretty sure that will remove the "hack" of
Value Type Finder (or whatever it was called)


What else?? Uhhhhh... super-tired from this long stint of refactoring, but
hope I can push all the way through. I think I will take a couple of days
rest from this...

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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message