@Override public List<Metadata<String>> getEnabledAlternativeStereotypes() { return beansXml.getEnabledAlternativeStereotypes(); }
@Override public List<String> getAlternativeStereotypes() { List<String> stereotypes = new ArrayList<>(); for (Metadata<String> stereotype : model.getEnabledAlternativeStereotypes()) { stereotypes.add(stereotype.getValue()); } return stereotypes; }
public BeansXml parse(Iterable<URL> urls, final PropertyReplacer propertyReplacer) throws DeploymentUnitProcessingException { List<Metadata<String>> alternativeStereotypes = new ArrayList<Metadata<String>>(); List<Metadata<String>> alternativeClasses = new ArrayList<Metadata<String>>(); List<Metadata<String>> decorators = new ArrayList<Metadata<String>>(); List<Metadata<String>> interceptors = new ArrayList<Metadata<String>>(); List<Metadata<Filter>> includes = new ArrayList<Metadata<Filter>>(); List<Metadata<Filter>> excludes = new ArrayList<Metadata<Filter>>(); for (URL url : urls) { BeansXml beansXml = parse(url, propertyReplacer); alternativeStereotypes.addAll(beansXml.getEnabledAlternativeStereotypes()); alternativeClasses.addAll(beansXml.getEnabledAlternativeClasses()); decorators.addAll(beansXml.getEnabledDecorators()); interceptors.addAll(beansXml.getEnabledInterceptors()); includes.addAll(beansXml.getScanning().getIncludes()); excludes.addAll(beansXml.getScanning().getExcludes()); } return new BeansXmlImpl(alternativeClasses, alternativeStereotypes, decorators, interceptors, new ScanningImpl(includes, excludes)); }
private void validateEnabledAlternativeStereotypes(BeanManagerImpl beanManager, BeanDeployment deployment) { BeansXml beansXml = deployment.getBeanDeploymentArchive().getBeansXml(); if (beansXml != null && !beansXml.getEnabledAlternativeStereotypes().isEmpty()) { // prepare lookup structure Map<String, Class<? extends Annotation>> loadedStereotypes = buildClassNameMap(beanManager.getEnabled().getAlternativeStereotypes()); for (Metadata<String> definition : beansXml.getEnabledAlternativeStereotypes()) { Class<? extends Annotation> stereotype = loadedStereotypes.get(definition.getValue()); if (!beanManager.isStereotype(stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotStereotype(definition); } if (!isAlternativeStereotype(beanManager, stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotAnnotated(definition); } } } }
private void validateEnabledAlternativeStereotypes(BeanManagerImpl beanManager, BeanDeployment deployment) { BeansXml beansXml = deployment.getBeanDeploymentArchive().getBeansXml(); if (beansXml != null && !beansXml.getEnabledAlternativeStereotypes().isEmpty()) { // prepare lookup structure Map<String, Class<? extends Annotation>> loadedStereotypes = buildClassNameMap(beanManager.getEnabled().getAlternativeStereotypes()); for (Metadata<String> definition : beansXml.getEnabledAlternativeStereotypes()) { Class<? extends Annotation> stereotype = loadedStereotypes.get(definition.getValue()); if (!beanManager.isStereotype(stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotStereotype(definition); } if (!isAlternativeStereotype(beanManager, stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotAnnotated(definition); } } } }
private void validateEnabledAlternativeStereotypes(BeanManagerImpl beanManager, BeanDeployment deployment) { BeansXml beansXml = deployment.getBeanDeploymentArchive().getBeansXml(); if (beansXml != null && !beansXml.getEnabledAlternativeStereotypes().isEmpty()) { // prepare lookup structure Map<String, Class<? extends Annotation>> loadedStereotypes = buildClassNameMap(beanManager.getEnabled().getAlternativeStereotypes()); for (Metadata<String> definition : beansXml.getEnabledAlternativeStereotypes()) { Class<? extends Annotation> stereotype = loadedStereotypes.get(definition.getValue()); if (!beanManager.isStereotype(stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotStereotype(definition); } if (!isAlternativeStereotype(beanManager, stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotAnnotated(definition); } } } }
private void validateEnabledAlternativeStereotypes(BeanManagerImpl beanManager, BeanDeployment deployment) { BeansXml beansXml = deployment.getBeanDeploymentArchive().getBeansXml(); if (beansXml != null && !beansXml.getEnabledAlternativeStereotypes().isEmpty()) { // prepare lookup structure Map<String, Class<? extends Annotation>> loadedStereotypes = buildClassNameMap(beanManager.getEnabled().getAlternativeStereotypes()); for (Metadata<String> definition : beansXml.getEnabledAlternativeStereotypes()) { Class<? extends Annotation> stereotype = loadedStereotypes.get(definition.getValue()); if (!beanManager.isStereotype(stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotStereotype(definition); } if (!isAlternativeStereotype(beanManager, stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotAnnotated(definition); } } } }
private void validateEnabledAlternativeStereotypes(BeanManagerImpl beanManager, BeanDeployment deployment) { BeansXml beansXml = deployment.getBeanDeploymentArchive().getBeansXml(); if (beansXml != null && !beansXml.getEnabledAlternativeStereotypes().isEmpty()) { // prepare lookup structure Map<String, Class<? extends Annotation>> loadedStereotypes = buildClassNameMap(beanManager.getEnabled().getAlternativeStereotypes()); for (Metadata<String> definition : beansXml.getEnabledAlternativeStereotypes()) { Class<? extends Annotation> stereotype = loadedStereotypes.get(definition.getValue()); if (!beanManager.isStereotype(stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotStereotype(definition); } if (!isAlternativeStereotype(beanManager, stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotAnnotated(definition); } } } }
private void validateEnabledAlternativeStereotypes(BeanManagerImpl beanManager, BeanDeployment deployment) { BeansXml beansXml = deployment.getBeanDeploymentArchive().getBeansXml(); if (beansXml != null && !beansXml.getEnabledAlternativeStereotypes().isEmpty()) { // prepare lookup structure Map<String, Class<? extends Annotation>> loadedStereotypes = buildClassNameMap(beanManager.getEnabled().getAlternativeStereotypes()); for (Metadata<String> definition : beansXml.getEnabledAlternativeStereotypes()) { Class<? extends Annotation> stereotype = loadedStereotypes.get(definition.getValue()); if (!beanManager.isStereotype(stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotStereotype(definition); } if (!isAlternativeStereotype(beanManager, stereotype)) { throw ValidatorLogger.LOG.alternativeStereotypeNotAnnotated(definition); } } } }
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 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 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 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 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); }
private <T> BeansXml merge(Iterable<? extends T> items, Function<T, BeansXml> function, boolean removeDuplicates) { List<Metadata<String>> alternatives = new ArrayList<Metadata<String>>(); List<Metadata<String>> alternativeStereotypes = new ArrayList<Metadata<String>>(); List<Metadata<String>> decorators = new ArrayList<Metadata<String>>(); List<Metadata<String>> interceptors = new ArrayList<Metadata<String>>(); List<Metadata<Filter>> includes = new ArrayList<Metadata<Filter>>(); List<Metadata<Filter>> excludes = new ArrayList<Metadata<Filter>>(); 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()); if (beansXml instanceof TrimmableBeansXml) { isTrimmed = ((TrimmableBeansXml) 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); }
checkForDuplicates(beansXml.getEnabledDecorators(), ValidatorLogger.DECORATOR_SPECIFIED_TWICE); checkForDuplicates(beansXml.getEnabledAlternativeClasses(), ValidatorLogger.ALTERNATIVE_CLASS_SPECIFIED_MULTIPLE_TIMES); checkForDuplicates(beansXml.getEnabledAlternativeStereotypes(), ValidatorLogger.ALTERNATIVE_STEREOTYPE_SPECIFIED_MULTIPLE_TIMES); alternativeStereotypes = cast(beansXml.getEnabledAlternativeStereotypes().stream().map(loader).collect(ImmutableSet.collector())); } else { alternativeClasses = Collections.emptySet();
checkForDuplicates(beansXml.getEnabledDecorators(), ValidatorLogger.DECORATOR_SPECIFIED_TWICE); checkForDuplicates(beansXml.getEnabledAlternativeClasses(), ValidatorLogger.ALTERNATIVE_CLASS_SPECIFIED_MULTIPLE_TIMES); checkForDuplicates(beansXml.getEnabledAlternativeStereotypes(), ValidatorLogger.ALTERNATIVE_STEREOTYPE_SPECIFIED_MULTIPLE_TIMES); alternativeStereotypes = cast(beansXml.getEnabledAlternativeStereotypes().stream().map(loader).collect(ImmutableSet.collector())); } else { alternativeClasses = Collections.emptySet();
checkForDuplicates(beansXml.getEnabledDecorators(), ValidatorLogger.DECORATOR_SPECIFIED_TWICE); checkForDuplicates(beansXml.getEnabledAlternativeClasses(), ValidatorLogger.ALTERNATIVE_CLASS_SPECIFIED_MULTIPLE_TIMES); checkForDuplicates(beansXml.getEnabledAlternativeStereotypes(), ValidatorLogger.ALTERNATIVE_STEREOTYPE_SPECIFIED_MULTIPLE_TIMES); alternativeStereotypes = cast(beansXml.getEnabledAlternativeStereotypes().stream().map(loader).collect(ImmutableSet.collector())); } else { alternativeClasses = Collections.emptySet();
@SuppressWarnings("unchecked") public static BeansXml removeDuplicate(BeansXml xml) throws Exception { removeDuplicate((xml.getEnabledAlternativeStereotypes())); removeDuplicate((xml.getEnabledAlternativeClasses())); removeDuplicate(xml.getEnabledDecorators()); removeDuplicate(xml.getEnabledInterceptors()); return xml; }
@Override protected Deployment createDeployment(ResourceLoader resourceLoader, CDI11Bootstrap bootstrap) { Deployment deployment = super.createDeployment(resourceLoader, bootstrap); BeanDeploymentArchivesModel archivesModel = new BeanDeploymentArchivesModel(); for (BeanDeploymentArchive bda : deployment.getBeanDeploymentArchives()) { BeanDeploymentArchiveModel model = new BeanDeploymentArchiveModel(); model.setId(bda.getId()); BeansXml beansXml = bda.getBeansXml(); model.setDiscoveryMode(beansXml.getBeanDiscoveryMode()); model.setEnabledAlternatives(StringMetadata.from(beansXml.getEnabledAlternativeClasses())); model.setEnabledAlternativeStereotypes(StringMetadata.from(beansXml.getEnabledAlternativeStereotypes())); model.setEnabledDecorators(StringMetadata.from(beansXml.getEnabledDecorators())); model.setEnabledInterceptors(StringMetadata.from(beansXml.getEnabledInterceptors())); //model.setScanning(beansXml.getScanning()); if (beansXml.getUrl() != null) model.setUrl(beansXml.getUrl()); model.setVersion(beansXml.getVersion()); model.setBeanClasses(bda.getBeanClasses()); archivesModel.addBeanDeploymentArchive(model); } JAXB.marshal(archivesModel, sw); return deployment; } }.initialize();