installationContext.setInstall(true);
installationContext.setComponentName(name);
installationContext.setComponentDescription(descriptor.getIdentification().getDescription());
installationContext.setInstallRoot(installationDir);
installationContext.setComponentClassName(descriptor.getComponentClassName());
ClassPath cp = descriptor.getComponentClassPath();
if (cp != null) {
installationContext.setClassPathElements(cp.getPathElements());
}
// now build the ComponentContext
installationContext.setContext(buildComponentContext(name));
InstallationDescriptorExtension desc = descriptor.getDescriptorExtension();
if (desc != null) {
installationContext.setDescriptorExtension(desc.getDescriptorExtension());
}
installationContext.setBinding(descriptor.isBindingComponent());
installationContext.setEngine(descriptor.isServiceEngine());
// now we must initialize the boot strap class
String bootstrapClassName = descriptor.getBootstrapClassName();
ClassPath bootStrapClassPath = descriptor.getBootstrapClassPath();
InstallationClassLoader bootstrapLoader = null;
if (bootstrapClassName != null && bootstrapClassName.length() > 0) {
boolean parentFirst = descriptor.isBootstrapClassLoaderDelegationParentFirst();
bootstrapLoader = classLoaderService.buildClassLoader(installationDir, bootStrapClassPath
.getPathElements(), parentFirst);
}
SharedLibraryList[] lists = descriptor.getSharedLibraries();
String componentClassName = descriptor.getComponentClassName();
ClassPath componentClassPath = descriptor.getComponentClassPath();
boolean parentFirst = descriptor.isComponentClassLoaderDelegationParentFirst();
ClassLoader componentClassLoader = classLoaderService.buildClassLoader(installationDir, componentClassPath
.getPathElements(), parentFirst, lists);
result = new InstallerMBeanImpl(container, installationContext, componentClassLoader, componentClassName,
bootstrapLoader, bootstrapClassName);
// create an MBean for the installer
ObjectName objectName = managementContext.createCustomComponentMBeanName(InstallerMBean.class.getName(),