If you're planning on making a large-ish refactor, it would be nice to have an official release prior to introducing the changes. That would consolidate the updates-to-date into a new official baseline.

Just a thought...
  DaveE


On 6/23/2015 7:47 AM, David Vittor wrote:
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 <mailto: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



Reply via email to