private String getBDABeansXMLPath(Class<?> injectionPointBeanClass) { if (injectionPointBeanClass == null) { return null; } ScannerService scannerService = webBeansContext.getScannerService(); BDABeansXmlScanner beansXMLScanner = scannerService.getBDABeansXmlScanner(); return beansXMLScanner.getBeansXml(injectionPointBeanClass); }
@Override public void undeploy(Archive<?> archive) throws DeploymentException { LOG.fine("OpenWebBeans Arquillian undeploying"); OwbArquillianScannerService dummyScannerService = (OwbArquillianScannerService) webBeansContext.getScannerService(); dummyScannerService.clear(); ContainerLifecycle lifecycle = lifecycleProducer.get(); if (lifecycle != null) { // end the session lifecycle lifecycle.stopApplication(null); } ClassLoader current = Thread.currentThread().getContextClassLoader(); if (OwbSWClassLoader.class.isInstance(current)) { // should be the case try { OwbSWClassLoader.class.cast(current).close(); } catch (IOException e) { // no-op } } Thread.currentThread().setContextClassLoader(originalLoader.get()); originalLoader.remove(); }
public void cdiToContainerSetup(final @Observes WebBeansContextCreated webBeansContextCreated) throws Exception { final WebBeansContext context = webBeansContextCreated.getContext(); context.getOpenWebBeansConfiguration().setProperty(AlertCDIBridge.class.getName() + ".accepted", accepted.isEmpty() ? "*" : Join.join(",", accepted)); CdiScanner.class.cast(context.getScannerService()).getBeanClasses().add(DefaultObserver.class); }
@Override public void scan(final JarScanType jarScanType, final ServletContext servletContext, final JarScannerCallback callback) { switch (jarScanType) { case PLUGGABILITY: CdiArchive.class.cast(WebScannerService.class.cast(WebBeansContext.getInstance().getScannerService()).getFinder().getArchive()) .classesByUrl().keySet().stream() .filter(u -> !"jar:file://!/".equals(u)) // not a fake in memory url .forEach(u -> { try { final URL url = new URL(u); final File asFile = Files.toFile(url); if (asFile.getName().endsWith(Constants.JAR_EXT)) { try (final Jar jar = JarFactory.newInstance(asFile.toURI().toURL())) { callback.scan(jar, u, true); } } else if (asFile.isDirectory()) { callback.scan(asFile, asFile.getAbsolutePath(), true); } } catch (final MalformedURLException e) { // skip } catch (final IOException ioe) { throw new IllegalArgumentException(ioe); } }); return; case TLD: default: } }
@Override public void scan(final JarScanType jarScanType, final ServletContext servletContext, final JarScannerCallback callback) { switch (jarScanType) { case PLUGGABILITY: CdiArchive.class.cast(WebScannerService.class.cast(WebBeansContext.getInstance().getScannerService()).getFinder().getArchive()) .classesByUrl().keySet().stream() .filter(u -> !"jar:file://!/".equals(u)) // not a fake in memory url .forEach(u -> { try { final URL url = new URL(u); final File asFile = Files.toFile(url); if (asFile.getName().endsWith(Constants.JAR_EXT)) { try (final Jar jar = JarFactory.newInstance(asFile.toURI().toURL())) { callback.scan(jar, u, true); } } else if (asFile.isDirectory()) { callback.scan(asFile, asFile.getAbsolutePath(), true); } } catch (final MalformedURLException e) { // skip } catch (final IOException ioe) { throw new IllegalArgumentException(ioe); } }); return; case TLD: default: } }
@Override public ProtocolMetaData deploy(Archive<?> archive) throws DeploymentException { singletonService.initOwb(); webBeansContext = WebBeansContext.getInstance(); LOG.fine("OpenWebBeans Arquillian starting deployment"); ContainerLifecycle lifecycle = webBeansContext.getService(ContainerLifecycle.class); lifecycleProducer.set(lifecycle); OwbArquillianScannerService dummyScannerService = (OwbArquillianScannerService) webBeansContext.getScannerService(); dummyScannerService.setArchive(archive); ClassLoader parentLoader = Thread.currentThread().getContextClassLoader(); originalLoader.set(parentLoader); Thread.currentThread().setContextClassLoader(new OwbSWClassLoader(parentLoader, archive, useOnlyArchiveResources, useOnlyArchiveResourcesExcludes)); lifecycle.startApplication(null); // finally make the BeanManager available to Arquillian, but only if the boot succeeded beanManagerProducer.set(lifecycle.getBeanManager()); return new ProtocolMetaData(); }
/** * Manages unused conversations */ public OpenEJBLifecycle(final WebBeansContext webBeansContext) { this.webBeansContext = webBeansContext; this.beanManager = webBeansContext.getBeanManagerImpl(); this.deployer = new BeansDeployer(webBeansContext); this.jndiService = webBeansContext.getService(JNDIService.class); this.scannerService = webBeansContext.getScannerService(); this.contextsService = webBeansContext.getContextsService(); }
thread.setContextClassLoader(loader); try { final OWBTomcatWebScannerService scannerService = OWBTomcatWebScannerService.class.cast(WebBeansContext.getInstance().getScannerService()); scannerService.setFilter(ofNullable(context.getJarScanner()).map(JarScanner::getJarScanFilter).orElse(null), context.getServletContext()); scannerService.setDocBase(context.getDocBase());
thread.setContextClassLoader(loader); try { final OWBTomcatWebScannerService scannerService = OWBTomcatWebScannerService.class.cast(WebBeansContext.getInstance().getScannerService()); scannerService.setFilter(ofNullable(context.getJarScanner()).map(JarScanner::getJarScanFilter).orElse(null), context.getServletContext()); scannerService.setDocBase(context.getDocBase());
/** * Creates a new deployer with given xml configurator. * * @param webBeansContext */ public BeansDeployer(WebBeansContext webBeansContext) { this.webBeansContext = webBeansContext; beanArchiveService = webBeansContext.getBeanArchiveService(); scannerService = webBeansContext.getScannerService(); decoratorsManager = webBeansContext.getDecoratorsManager(); interceptorsManager = webBeansContext.getInterceptorsManager(); String usage = this.webBeansContext.getOpenWebBeansConfiguration().getProperty(OpenWebBeansConfiguration.USE_EJB_DISCOVERY); discoverEjb = Boolean.parseBoolean(usage); defaultBeanArchiveInformation = new DefaultBeanArchiveInformation("default"); defaultBeanArchiveInformation.setBeanDiscoveryMode(BeanDiscoveryMode.ALL); }
protected AbstractLifeCycle(Properties properties, WebBeansContext webBeansContext) { beforeInitApplication(properties); this.webBeansContext = webBeansContext; beanManager = this.webBeansContext.getBeanManagerImpl(); deployer = new BeansDeployer(webBeansContext); jndiService = this.webBeansContext.getService(JNDIService.class); scannerService = this.webBeansContext.getScannerService(); contextsService = this.webBeansContext.getService(ContextsService.class); initApplication(properties); }
Class<?> injectionPointClass, Annotation... qualifiers) ScannerService scannerService = webBeansContext.getScannerService(); String bdaBeansXMLFilePath = null; if (scannerService.isBDABeansXmlScanningEnabled())
public OpenEJBLifecycle(final WebBeansContext webBeansContext) { this.webBeansContext = webBeansContext; beforeInitApplication(null); this.beanManager = webBeansContext.getBeanManagerImpl(); this.xmlDeployer = new WebBeansXMLConfigurator(); this.deployer = new BeansDeployer(this.xmlDeployer, webBeansContext); this.jndiService = webBeansContext.getService(JNDIService.class); this.beanManager.setXMLConfigurator(this.xmlDeployer); this.scannerService = webBeansContext.getScannerService(); this.contextsService = webBeansContext.getContextsService(); initApplication(null); }