Hi Emmanuel,

On Fri, Oct 14, 2011 at 7:36 PM, Emmanuel Lécharny <elecharny@apache.org> wrote:
Ok, as of today, I have a working trunk (all tests passing).

The main modifications are :
- we have one sub-project under apacheds, 'interceptors', which is the root for all the interceptors. It's a pom
- each interceptor is under this sub-project, and currently produce a jar
- I had to create a core-shared project in order to avoid cyclic dependencies between interceptors and core. Currently, interceptors depend on core-shared, and core depends on all the interceptors plus core-shared.
We're going to change that behavior so that core will not be dependent on any interceptor as class reference. 
- I had to replace the XXX.class.getName() (where XXX is an interceptor name) by the direct interceptor name in the ByPass collections. This has a direct impact : we now name interceptors using their simple name (ie, without the package). This is not good, but this is just temporary
Yes, maybe i must implement some helper for you to get class reference of intended interceptor using its name. 
- I also had to register the SimpleName for interceptors all over the code (not that many refs, though)

The things we should do :
- we still have interceptors depending on other interceptors. This is not good, and I will try to get rid of those dependencies
- we must find a way to manage the chain by using an abstract name, not the Interceptor class name. Same for byPasses.
I'm on it. Basically we can handle this by using filtering while getting interceptor references through OSGI. And this basic thing will help us to get rid of all inter and intra interceptor dependencies. 

The worst part of the work was surprisingly not the decoupling, but the pom.xml modifications...

I will commit my current changes, be ready for many modifications.
So we must provide custom OSGI build of ApacheDS as first step ASAP. That will help us identifying problems of bundleizing current code. I'm on it primarily.
Thanks ! 

Emmanuel Lécharny