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
