private Collection<BeanDeployment> getBeanDeployments() { return bdaMapping.getBeanDeployments(); }
public BeanManagerImpl getManager(BeanDeploymentArchive beanDeploymentArchive) { BeanDeployment beanDeployment = bdaMapping.getBeanDeployment(beanDeploymentArchive); return beanDeployment == null ? null : beanDeployment.getBeanManager().getCurrent(); }
public WeldRuntime startContainer( String contextId, Environment environment, Deployment deployment) { if (deployment == null) { throw BootstrapLogger.LOG.deploymentRequired(); } checkApiVersion(); final ServiceRegistry registry = deployment.getServices(); // initiate part of registry in order to allow access to WeldConfiguration new AdditionalServiceLoader(deployment).loadAdditionalServices(registry); // Resource Loader has to be loaded prior to WeldConfiguration if (!registry.contains(ResourceLoader.class)) { registry.add(ResourceLoader.class, DefaultResourceLoader.INSTANCE); } WeldConfiguration configuration = new WeldConfiguration(registry, deployment); registry.add(WeldConfiguration.class, configuration); String finalContextId = BeanDeployments.getFinalId( contextId, registry.get(WeldConfiguration.class).getStringProperty(ROLLING_UPGRADES_ID_DELIMITER)); this.contextId = finalContextId; this.deployment = deployment; this.environment = environment; if (this.extensions == null) { setExtensions(deployment.getExtensions()); } // Add extension to register built-in components this.extensions.add(MetadataImpl.from(new WeldExtension())); // Add Weld extensions String vetoTypeRegex = configuration.getStringProperty( ConfigurationKey.VETO_TYPES_WITHOUT_BEAN_DEFINING_ANNOTATION); if (!vetoTypeRegex.isEmpty()) { this.extensions.add(MetadataImpl.from(new WeldVetoExtension(vetoTypeRegex))); } // Finish the rest of registry init, setupInitialServices() requires already changed // finalContextId setupInitialServices(); registry.addAll(initialServices.entrySet()); if (!registry.contains(ProxyServices.class)) { registry.add(ProxyServices.class, new SimpleProxyServices()); } if (!registry.contains(SecurityServices.class)) { registry.add(SecurityServices.class, NoopSecurityServices.INSTANCE); } addImplementationServices(registry); verifyServices(registry, environment.getRequiredDeploymentServices(), contextId); if (!registry.contains(TransactionServices.class)) { BootstrapLogger.LOG.jtaUnavailable(); } this.deploymentManager = BeanManagerImpl.newRootManager(finalContextId, "deployment", registry); Container.initialize( finalContextId, deploymentManager, ServiceRegistries.unmodifiableServiceRegistry(deployment.getServices())); getContainer().setState(ContainerState.STARTING); this.contexts = createContexts(registry); this.bdaMapping = new BeanDeploymentArchiveMapping(); this.deploymentVisitor = new DeploymentVisitor(deploymentManager, environment, deployment, contexts, bdaMapping); if (deployment instanceof CDI11Deployment) { registry.add( BeanManagerLookupService.class, new BeanManagerLookupService( (CDI11Deployment) deployment, bdaMapping.getBdaToBeanManagerMap())); } else { BootstrapLogger.LOG.legacyDeploymentMetadataProvided(); } // Read the deployment structure, bdaMapping will be the physical structure // as caused by the presence of beans.xml deploymentVisitor.visit(); return new WeldRuntime(finalContextId, deploymentManager, bdaMapping.getBdaToBeanManagerMap()); }