logo       

Re: Excalibur ClassLoader Component in Phoenix: msg#00215

jakarta.avalon.phoenix.devel

Subject: Re: Excalibur ClassLoader Component in Phoenix

On Sun, 27 Oct 2002 08:16, you wrote:
> Peter,
>
> I have need of the Excalibur ClassLoader Component from within Phoenix.

Okay - I will try to have a bash at it real soon. If you want to have a go at
integrating it into phoenix instead then that would be fine with me.

Currently a film crew have disassembled half my house and I don't have a
decent dev machine to dev/test on and may not for a couple more days until
the shoot stops :)

> What is the current status of this component...(unit tested?)?

From memory everything is unit tested except for one class. Namely
org.apache.excalibur.loader.builder.LoaderBuilder. To unit test this you need
to write an implementation of LoaderResolver. Assuming no changes are made
then the kit should be good to go.

> Does
> Phoenix support this component within the environment.xml? What steps
> might I need to take to utilize this component?

Well you first need to modify
phoenix.components.classloader.DefaulClassLoaderManager to use the
configuration. It should check if a <classloader/> element does not exist
then we should do what is already done.

If it does exist then we should turn Configuration into DOM tree (using
org.apache.avalon.phoenix.components.util.ConfigurationUtil). Build
ClassloaderMetaData, validate it and then using to build a set of
ClassLoaders. We should then return the "default" classloader (specified in
metadata).

We should then add a new method to ApplicationContext and BlockContext that
looks like

ClassLoader getClassLoader( String name )
throws Exception;

The only hard bit about this is implementing LoaderResolver. I have started to
do this a few weeks ago and then got distracted by other things. I have
attached the start of that code which may (or may not) compile, and may or
may not work (the Filesets are currently an unimplemented feature).

Anyways I will push that to the top of my list of things to do if you want ;)
If you want things done quicker than I can do it then feel free to do it
yourself - and send the changes along! ;)

--
Cheers,

Peter Donald
*------------------------------------------------------*
| Despite your efforts to be a romantic hero, you will |
| gradually evolve into a postmodern plot device. |
*------------------------------------------------------*

Attachment: SimpleLoaderResolver.java
Description: Text Data

--
To unsubscribe, e-mail:
<mailto:avalon-phoenix-dev-unsubscribe@xxxxxxxxxxxxxxxxxx>
For additional commands, e-mail:
<mailto:avalon-phoenix-dev-help@xxxxxxxxxxxxxxxxxx>
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise