protected WeldBeanDeploymentArchive getAndUpdateAdditionalBeanDeploymentArchive(Class<?> beanClass) { if (additionalBeanDeploymentArchive == null) { synchronized (this) { if (additionalBeanDeploymentArchive == null) { additionalBeanDeploymentArchive = createAdditionalBeanDeploymentArchive(); } } } additionalBeanDeploymentArchive.addBeanClass(beanClass.getName()); return additionalBeanDeploymentArchive; }
protected void addToArchives(Set<WeldBeanDeploymentArchive> deploymentArchives, WeldBeanDeploymentArchive bda) { if (bda == null) { return; } if (bda.isEmpty()) { // Most probably an unsuccessful candidate for an implicit bean archive with no beans.xml CommonLogger.LOG.debugv("Empty bean deployment archive ignored: {0}", bda.getId()); return; } deploymentArchives.add(bda); }
/** * * @param id * @param beanClasses The collection should be mutable * @param beansXml * @param accessibleBeanDeploymentArchives */ public WeldBeanDeploymentArchive(String id, Collection<String> beanClasses, BeansXml beansXml, Set<WeldBeanDeploymentArchive> accessibleBeanDeploymentArchives) { super(id); this.beanClasses = beanClasses; this.beansXml = beansXml; setAccessibleBeanDeploymentArchives(accessibleBeanDeploymentArchives); }
/** * Additional bean deployment archives are used for extentions, synthetic annotated types and beans which do not come from a bean archive. * * @param beanClass * @return the additional bean deployment archive */ protected WeldBeanDeploymentArchive createAdditionalBeanDeploymentArchive() { WeldBeanDeploymentArchive additionalBda = new WeldBeanDeploymentArchive(ADDITIONAL_BDA_ID, Collections.synchronizedSet(new HashSet<String>()), null); additionalBda.getServices().addAll(getServices().entrySet()); beanDeploymentArchives.add(additionalBda); setBeanDeploymentArchivesAccessibility(); return additionalBda; }
/** * * @param bootstrap * @param archives * @return the "flat" bean deployment archive */ public static <T extends BeanDeploymentArchive> WeldBeanDeploymentArchive merge(CDI11Bootstrap bootstrap, Iterable<T> archives) { BeansXml mergedBeansXml = BeansXmlParser.mergeExisting(archives, true); Set<String> beanClasses = new HashSet<String>(); for (BeanDeploymentArchive archive : archives) { beanClasses.addAll(archive.getBeanClasses()); } return new WeldBeanDeploymentArchive(ManagerObjectFactory.FLAT_BEAN_DEPLOYMENT_ID, beanClasses, mergedBeansXml); }
WeldBeanDeploymentArchive syntheticBeanArchive = new WeldBeanDeploymentArchive(WeldDeployment.SYNTHETIC_BDA_ID, setOfAllBeanClasses, null, buildSyntheticBeansXml(), Collections.emptySet(), ImmutableSet.copyOf(beanClasses)); beanDeploymentArchives.add(syntheticBeanArchive); } else { Set<WeldBeanDeploymentArchive> flatDeployment = new HashSet<WeldBeanDeploymentArchive>(); flatDeployment.add(WeldBeanDeploymentArchive.merge(bootstrap, beanDeploymentArchives)); deployment = new WeldDeployment(resourceLoader, bootstrap, flatDeployment, extensions); CommonLogger.LOG.archiveIsolationDisabled();
@Override protected WeldBeanDeploymentArchive createAdditionalBeanDeploymentArchive() { WeldBeanDeploymentArchive archive = super.createAdditionalBeanDeploymentArchive(); archive.getServices().add(EEModuleDescriptor.class, eeModule); return archive; } };
CommonLogger.LOG.archiveIsolationDisabled(); Set<WeldBeanDeploymentArchive> flatDeployment = new HashSet<WeldBeanDeploymentArchive>(); flatDeployment.add(WeldBeanDeploymentArchive.merge(bootstrap, beanDeploymentArchives)); beanDeploymentArchives = flatDeployment;
@Override public WeldBeanDeploymentArchive getBeanDeploymentArchive(Class<?> beanClass) { for (WeldBeanDeploymentArchive beanDeploymentArchive : beanDeploymentArchives) { if (beanDeploymentArchive.getKnownClasses().contains(beanClass.getName())) { return beanDeploymentArchive; } } return null; }
/** * Additional bean deployment archives are used for extentions, synthetic annotated types and beans which do not come from a bean archive. * * @param beanClass * @return the additional bean deployment archive */ protected WeldBeanDeploymentArchive createAdditionalBeanDeploymentArchive() { WeldBeanDeploymentArchive additionalBda = new WeldBeanDeploymentArchive(ADDITIONAL_BDA_ID, Collections.synchronizedSet(new HashSet<String>()), null); additionalBda.getServices().addAll(getServices().entrySet()); beanDeploymentArchives.add(additionalBda); setBeanDeploymentArchivesAccessibility(); return additionalBda; }
/** * * @param bootstrap * @param archives * @return the "flat" bean deployment archive */ public static <T extends BeanDeploymentArchive> WeldBeanDeploymentArchive merge(CDI11Bootstrap bootstrap, Iterable<T> archives) { BeansXml mergedBeansXml = BeansXmlParser.mergeExisting(archives, true); Set<String> beanClasses = new HashSet<String>(); for (BeanDeploymentArchive archive : archives) { beanClasses.addAll(archive.getBeanClasses()); } return new WeldBeanDeploymentArchive(ManagerObjectFactory.FLAT_BEAN_DEPLOYMENT_ID, beanClasses, mergedBeansXml); }
WeldBeanDeploymentArchive syntheticBeanArchive = new WeldBeanDeploymentArchive(WeldDeployment.SYNTHETIC_BDA_ID, setOfAllBeanClasses, null, buildSyntheticBeansXml(), Collections.emptySet(), ImmutableSet.copyOf(beanClasses)); beanDeploymentArchives.add(syntheticBeanArchive); } else { Set<WeldBeanDeploymentArchive> flatDeployment = new HashSet<WeldBeanDeploymentArchive>(); flatDeployment.add(WeldBeanDeploymentArchive.merge(bootstrap, beanDeploymentArchives)); deployment = new WeldDeployment(resourceLoader, bootstrap, flatDeployment, extensions); CommonLogger.LOG.archiveIsolationDisabled();
@Override protected WeldBeanDeploymentArchive createAdditionalBeanDeploymentArchive() { WeldBeanDeploymentArchive archive = super.createAdditionalBeanDeploymentArchive(); archive.getServices().add(EEModuleDescriptor.class, eeModule); return archive; } };
CommonLogger.LOG.archiveIsolationDisabled(); Set<WeldBeanDeploymentArchive> flatDeployment = new HashSet<WeldBeanDeploymentArchive>(); flatDeployment.add(WeldBeanDeploymentArchive.merge(bootstrap, beanDeploymentArchives)); beanDeploymentArchives = flatDeployment;
@Override public WeldBeanDeploymentArchive getBeanDeploymentArchive(Class<?> beanClass) { for (WeldBeanDeploymentArchive beanDeploymentArchive : beanDeploymentArchives) { if (beanDeploymentArchive.getKnownClasses().contains(beanClass.getName())) { return beanDeploymentArchive; } } return null; }
/** * Additional bean deployment archives are used for extentions, synthetic annotated types and beans which do not come from a bean archive. * * @param beanClass * @return the additional bean deployment archive */ protected WeldBeanDeploymentArchive createAdditionalBeanDeploymentArchive() { WeldBeanDeploymentArchive additionalBda = new WeldBeanDeploymentArchive(ADDITIONAL_BDA_ID, Collections.synchronizedSet(new HashSet<String>()), null); additionalBda.getServices().addAll(getServices().entrySet()); beanDeploymentArchives.add(additionalBda); setBeanDeploymentArchivesAccessibility(); return additionalBda; }
/** * * @param bootstrap * @param archives * @return the "flat" bean deployment archive */ public static <T extends BeanDeploymentArchive> WeldBeanDeploymentArchive merge(CDI11Bootstrap bootstrap, Iterable<T> archives) { BeansXml mergedBeansXml = BeansXmlParser.mergeExisting(archives, true); Set<String> beanClasses = new HashSet<String>(); for (BeanDeploymentArchive archive : archives) { beanClasses.addAll(archive.getBeanClasses()); } return new WeldBeanDeploymentArchive(ManagerObjectFactory.FLAT_BEAN_DEPLOYMENT_ID, beanClasses, mergedBeansXml); }
WeldBeanDeploymentArchive syntheticBeanArchive = new WeldBeanDeploymentArchive(WeldDeployment.SYNTHETIC_BDA_ID, setOfAllBeanClasses, null, buildSyntheticBeansXml(), Collections.emptySet(), ImmutableSet.copyOf(beanClasses)); beanDeploymentArchives.add(syntheticBeanArchive); } else { Set<WeldBeanDeploymentArchive> flatDeployment = new HashSet<WeldBeanDeploymentArchive>(); flatDeployment.add(WeldBeanDeploymentArchive.merge(bootstrap, beanDeploymentArchives)); deployment = new WeldDeployment(resourceLoader, bootstrap, flatDeployment, extensions); CommonLogger.LOG.archiveIsolationDisabled();
protected void addToArchives(Set<WeldBeanDeploymentArchive> deploymentArchives, WeldBeanDeploymentArchive bda) { if (bda == null) { return; } if (bda.isEmpty()) { // Most probably an unsuccessful candidate for an implicit bean archive with no beans.xml CommonLogger.LOG.debugv("Empty bean deployment archive ignored: {0}", bda.getId()); return; } deploymentArchives.add(bda); }
@Override protected WeldBeanDeploymentArchive createAdditionalBeanDeploymentArchive() { WeldBeanDeploymentArchive archive = super.createAdditionalBeanDeploymentArchive(); archive.getServices().add(EEModuleDescriptor.class, eeModule); return archive; } };