avalon-phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <pe...@apache.org>
Subject Re: Excalibur ClassLoader Component in Phoenix
Date Sun, 27 Oct 2002 04:45:18 GMT
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.      |
*------------------------------------------------------* 

Mime
View raw message