Hi All, I've decided to remove this from trunk, as I will be unavailable to support this for a few weeks.
I've reverted the trunk and checked in the changes to a Branch: https://svn.apache.org/repos/asf/jspwiki/branches/JSPWIKI_2_10_PICO_BRANCH I've also attached here a pico.patch in case someone wants to test this against their version of trunk source. Apply the patch on the current version 2.10.2-svn-17. Let me know your thoughts if you do get to test this, and I'll see if I can merge this into the trunk, when I have more time. Kind regards, David V On Tue, Jun 23, 2015 at 9:09 PM, David Vittor <dvit...@gmail.com> wrote: > Hi Devs, > > Following close on the heels of the Haddock template rewrite, I've > released 2.10.2-svn-18 - a small rewrite of the core WikiEngine. > > I've been doing a some research into Dependency Injection, I've decided > that for JSPWiki, I think the best framework would be PicoContainer. > http://picocontainer.com/ > > This change will take a long time to complete, but I've started by adding > it to the pom.xml, changing the ClassUtil class to create and list all the > "components" (InternalModule), and changing these modules (SearchManager, > AdminBeanManager, WorkflowManager, DefaultFitlerManager, etc) to have empty > constructors, and a method called initialize( WikiEngine, Properties ). > > Just the above change took ages to get right, but now all test cases pass, > and I've played with it in my dev environment and seems like everything > works. > > I hope now that the core is in place, we can slowly start making changes > to actually use the PicoContainer functionality for dynamic component > injection. > > I have made a trade off however. Currently the file > "ini/classmappings.xml" is no longer valid, and the core classes are hard > coded inside "ClassUtil". > > Let me know if anyone has any thoughts on this. > > Kind regards, > David V > >