private BeansXml parseBeansXml(URL beansXmlFile, BeansXmlParser parser, final DeploymentUnit deploymentUnit) throws DeploymentUnitProcessingException { return parser.parse(beansXmlFile); } }
@Override public BeansXml parse(Iterable<URL> urls, boolean removeDuplicates) { return BeansXmlParser.merge(urls, this::parse, removeDuplicates); }
@Override public BeanDescriptor parse(URL beansXml) { BeansXmlParser parser = new BeansXmlParser(); model = parser.parse(beansXml); return new BeanDescriptorImpl(beansXml, model); }
private static void addTo(List<Metadata<String>> list, List<Metadata<String>> listToAdd, boolean removeDuplicates) { if (removeDuplicates) { List<Metadata<String>> filteredListToAdd = new ArrayList<>(listToAdd.size()); for (Metadata<String> metadata : listToAdd) { if (!alreadyAdded(metadata, list)) { filteredListToAdd.add(metadata); } } listToAdd = filteredListToAdd; } list.addAll(listToAdd); }
/** * * @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); }
public static <T> BeansXml merge(Iterable<? extends T> items, Function<T, BeansXml> function, boolean removeDuplicates) { List<Metadata<String>> alternatives = new ArrayList<>(); List<Metadata<String>> alternativeStereotypes = new ArrayList<>(); List<Metadata<String>> decorators = new ArrayList<>(); List<Metadata<String>> interceptors = new ArrayList<>(); List<Metadata<Filter>> includes = new ArrayList<>(); List<Metadata<Filter>> excludes = new ArrayList<>(); boolean isTrimmed = false; URL beansXmlUrl = null; for (T item : items) { BeansXml beansXml = function.apply(item); addTo(alternatives, beansXml.getEnabledAlternativeClasses(), removeDuplicates); addTo(alternativeStereotypes, beansXml.getEnabledAlternativeStereotypes(), removeDuplicates); addTo(decorators, beansXml.getEnabledDecorators(), removeDuplicates); addTo(interceptors, beansXml.getEnabledInterceptors(), removeDuplicates); includes.addAll(beansXml.getScanning().getIncludes()); excludes.addAll(beansXml.getScanning().getExcludes()); isTrimmed = beansXml.isTrimmed(); /* * provided we are merging the content of multiple XML files, getBeansXml() returns an InputStream representing the last one */ beansXmlUrl = beansXml.getUrl(); } return new BeansXmlImpl(alternatives, alternativeStereotypes, decorators, interceptors, new ScanningImpl(includes, excludes), beansXmlUrl, BeanDiscoveryMode.ALL, null, isTrimmed); }
public BeansXml parse(final URL beansXml) { BeansXmlHandler handler = getHandler(beansXml); if (beansXmlValidator != null) { beansXmlValidator.validate(beansXml, handler); } return handler != null ? new BeansXmlStreamParser(beansXml, text -> handler.interpolate(text)).parse() : new BeansXmlStreamParser(beansXml).parse(); }
/** * * @param bootstrap * @param archives * @return the "flat" bean deployment archive */ public static <T extends BeanDeploymentArchive> WeldBeanDeploymentArchive merge(CDI11Bootstrap bootstrap, Iterable<T> archives) { BeansXml mergedBeansXml = new 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); }
BeansXmlHandler handler = getHandler(beansXml); parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource", loadXsds()); } catch (IllegalArgumentException e) {
public WeldBootstrap() { weldStartup = new WeldStartup(); beansXmlParser = new BeansXmlParser(); }
@Override public BeansXml parse(Iterable<URL> urls, boolean removeDuplicates) { return BeansXmlParser.merge(urls, this::parse, removeDuplicates); }
private static void addTo(List<Metadata<String>> list, List<Metadata<String>> listToAdd, boolean removeDuplicates) { if (removeDuplicates) { List<Metadata<String>> filteredListToAdd = new ArrayList<>(listToAdd.size()); for (Metadata<String> metadata : listToAdd) { if (!alreadyAdded(metadata, list)) { filteredListToAdd.add(metadata); } } listToAdd = filteredListToAdd; } list.addAll(listToAdd); }
/** * * @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); }
public static <T> BeansXml merge(Iterable<? extends T> items, Function<T, BeansXml> function, boolean removeDuplicates) { List<Metadata<String>> alternatives = new ArrayList<>(); List<Metadata<String>> alternativeStereotypes = new ArrayList<>(); List<Metadata<String>> decorators = new ArrayList<>(); List<Metadata<String>> interceptors = new ArrayList<>(); List<Metadata<Filter>> includes = new ArrayList<>(); List<Metadata<Filter>> excludes = new ArrayList<>(); boolean isTrimmed = false; URL beansXmlUrl = null; for (T item : items) { BeansXml beansXml = function.apply(item); addTo(alternatives, beansXml.getEnabledAlternativeClasses(), removeDuplicates); addTo(alternativeStereotypes, beansXml.getEnabledAlternativeStereotypes(), removeDuplicates); addTo(decorators, beansXml.getEnabledDecorators(), removeDuplicates); addTo(interceptors, beansXml.getEnabledInterceptors(), removeDuplicates); includes.addAll(beansXml.getScanning().getIncludes()); excludes.addAll(beansXml.getScanning().getExcludes()); isTrimmed = beansXml.isTrimmed(); /* * provided we are merging the content of multiple XML files, getBeansXml() returns an InputStream representing the last one */ beansXmlUrl = beansXml.getUrl(); } return new BeansXmlImpl(alternatives, alternativeStereotypes, decorators, interceptors, new ScanningImpl(includes, excludes), beansXmlUrl, BeanDiscoveryMode.ALL, null, isTrimmed); }
public BeansXml parse(final URL beansXml) { BeansXmlHandler handler = getHandler(beansXml); if (beansXmlValidator != null) { beansXmlValidator.validate(beansXml, handler); } return handler != null ? new BeansXmlStreamParser(beansXml, text -> handler.interpolate(text)).parse() : new BeansXmlStreamParser(beansXml).parse(); }
@Override public BeansXml apply(URL url) { return parse(url); } };
public BeansXml mergeExistingDescriptors(final Iterable<BeansXml> beanArchives, final boolean removeDuplicates) { return merge(beanArchives, BEANS_XML_IDENTITY_FUNCTION, removeDuplicates); } }
private void addTo(List<Metadata<String>> list, List<Metadata<String>> listToAdd, boolean removeDuplicates) { if (removeDuplicates) { List<Metadata<String>> filteredListToAdd = new ArrayList<Metadata<String>>(listToAdd.size()); for (Metadata<String> metadata : listToAdd) { if (!alreadyAdded(metadata, list)) { filteredListToAdd.add(metadata); } } listToAdd = filteredListToAdd; } list.addAll(listToAdd); }
/** * * @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); }
public static <T> BeansXml merge(Iterable<? extends T> items, Function<T, BeansXml> function, boolean removeDuplicates) { List<Metadata<String>> alternatives = new ArrayList<>(); List<Metadata<String>> alternativeStereotypes = new ArrayList<>(); List<Metadata<String>> decorators = new ArrayList<>(); List<Metadata<String>> interceptors = new ArrayList<>(); List<Metadata<Filter>> includes = new ArrayList<>(); List<Metadata<Filter>> excludes = new ArrayList<>(); boolean isTrimmed = false; URL beansXmlUrl = null; for (T item : items) { BeansXml beansXml = function.apply(item); addTo(alternatives, beansXml.getEnabledAlternativeClasses(), removeDuplicates); addTo(alternativeStereotypes, beansXml.getEnabledAlternativeStereotypes(), removeDuplicates); addTo(decorators, beansXml.getEnabledDecorators(), removeDuplicates); addTo(interceptors, beansXml.getEnabledInterceptors(), removeDuplicates); includes.addAll(beansXml.getScanning().getIncludes()); excludes.addAll(beansXml.getScanning().getExcludes()); isTrimmed = beansXml.isTrimmed(); /* * provided we are merging the content of multiple XML files, getBeansXml() returns an InputStream representing the last one */ beansXmlUrl = beansXml.getUrl(); } return new BeansXmlImpl(alternatives, alternativeStereotypes, decorators, interceptors, new ScanningImpl(includes, excludes), beansXmlUrl, BeanDiscoveryMode.ALL, null, isTrimmed); }