Re: Jesktop reworked to use NanoContainer....

"Paul Hammant" <[email protected]> Mon, 16 Feb 2004 17:25:32 +0000
Newsgroups gmane.comp.java.nanocontainer.devel
Message-ID <[email protected]>
Peter,
> neat. brief overview of the process from converting from Phoenix to 
> Nano?

Comps already identified of course. Each comp, one by one ...
Remove implements of all Avalon interfaces.

  - logging went. YAGNI.
  - service method (if simple) went.
  - make member vars for comps passed in formerly thru service final
  - add them to ctor (as interface)
  - move former initialize() logic to end of ctor.

(configuration is not so automatic, and skimmed over in this email)

Run thru the codebase addressing compilation issues, passing on deps as appropriate (note am in breach of http://wiki.codehaus.org/picocontainer/PropagatingDependency).

Create bootstrap class to make a hard coded non-pico instantiation of app & prove it works

Use Pico Contaienr directly for new Bootstrap class (refactor) & prove it works

Create jaavscript script and bat file that does that last in a soft sence.

TODO - Wherever PropagatingDependency was happening, perhaps a bespoke instance of PicoContainer itself should have been passed forward.  This of course introduces a component dep on PicoContainer, which I am not sure is a step forward.  Not sure about PropagatingDependency when you;ve alsready componentized your app.  However for the generic provision of servies in the desktop (user installs a spelling provider and some client apps that use it) there almost certainly would have to be a generic component provider like a bespoke PicoContainer impl.

- Paul