Hi, I'm looking at how we might allow typelibs to declare custom roles. The reason is so that types/tasks in a typelib can use the new add(RoleInterface) configuration methods, for roles declared in the typelib.
Most of this is already done, I just wanted to double-check that it is a reasonable plan: * Add RoleManager.addNameRoleMapping(), so that the deployer can create roles. * Move DefaultRoleManager.initialize() and DefaultDeployer.initialize(), into a new method Deployer.deployFromResources( ClassLoader ). This would be used by DefaultEmbeddor to deploy from lib/*.jar and lib/*.zip (that is, from the context classloader at that point). * DefaultDeployer adds the roles from a typelib, on the first import from a typelib. This would happen for the first of any of the deployX( ) methods. There's a few other related changes: * Change DefaultDeployer to keep track of the ClassLoader for each typelib, to reuse them across multiple imports from the same typelib. The plan is to push all classloader creation into DefaultDeployer, then later extract out a general-purpose ClassLoaderManager component/service. * Change AbstractTypeDef and ConverterDef to use the Deployer to add converters and types. * Add TypeManager.registerType( Class roleInterface, String typeName, TypeFactory factory ), to avoid the type manager having to deal with classloaders to find the role interface. Adam -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
