Thanks all for your comments.

I was mentionning the RollerConfig as part of the modifications for Spring but yes, it's difficult and scary, and as Anil said, it should be part of a larger redesign. I've run into troubles running Roller with the current RollerConfig so it'll need at least a few tweaks to remove the static initializer and populate properties from the ones read in Spring. I'll find a solution that involves as few changes as possible.

Regarding the version to tackle, I'll move my things to the 4.0 trunk, so it'll take me a little while since I haven't looked into 4.0 yet. I'll try to keep up with Dave's easy install work once I've got a clearer picture and have the fundamentals running (getting there).

Thanks again for the feedback,
Denis


Anil Gangolli wrote:
Denis Balazuc wrote:
The hard part in this is to actually de-wire the RollerConfig property values used in the various manager implementations with something that comes from the Spring configured..configuration. The rest should be quite a breeze as the interfaces around layers are well defined.

Allen Gilliland wrote:

that part sounds scary to me, I don't know why you would need to worry about replacing the way the RollerConfig class works.


It is because dependency injection inverts model where a component gets its configuration values by calling RollerConfig.getProperty(). Instead the components expect to have their configuration properties set via constructors or via setters.

This isn't so much a consequence of Spring or Guice as how deeply we adopt the dependency injection model.

My feeling is that doing this properly really will involve some fundamental rearchitecture. The reason I'd not just go off and do this on a branch is that I'm likely to be working at cross-purposes with Dave on the fundamental choices there, which are not necessarily specific to Guice or Spring.

I'll be happy if we adopt a clean component model and dependency injection; happier if it is Spring-based.

--a

Reply via email to