public static WeldPortableExtensions getPortableExtensions(final DeploymentUnit deploymentUnit) { if (deploymentUnit.getParent() == null) { WeldPortableExtensions pes = deploymentUnit.getAttachment(WeldPortableExtensions.ATTACHMENT_KEY); if (pes == null) { deploymentUnit.putAttachment(ATTACHMENT_KEY, pes = new WeldPortableExtensions()); } return pes; } else { return getPortableExtensions(deploymentUnit.getParent()); } }
public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); final DeploymentUnit parent = deploymentUnit.getParent() == null ? deploymentUnit : deploymentUnit.getParent(); if(JsfVersionMarker.isJsfDisabled(deploymentUnit)) { return; } if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(parent); extensions.registerExtensionInstance(new JSFPassivatingViewScopedCdiExtension(), parent); } }
@Override public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); // for war modules we require a beans.xml to load portable extensions if (PrivateSubDeploymentMarker.isPrivate(deploymentUnit)) { if (!WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { return; } } else { // if any deployments have a beans.xml we need to load portable extensions // even if this one does not. if (!WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { return; } } WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(deploymentUnit); final Module module = deploymentUnit.getAttachment(Attachments.MODULE); ClassLoader oldCl = WildFlySecurityManager.getCurrentContextClassLoaderPrivileged(); try { WildFlySecurityManager.setCurrentContextClassLoaderPrivileged(module.getClassLoader()); loadAttachments(module, deploymentUnit, extensions); } finally { WildFlySecurityManager.setCurrentContextClassLoaderPrivileged(oldCl); } }
final Collection<Metadata<Extension>> extensions = WeldPortableExtensions.getPortableExtensions(deploymentUnit).getExtensions();
WeldPortableExtensions.getPortableExtensions(deploymentUnit) .tryRegisterExtension(loadClass(PROBE_EXTENSION_CLASS_NAME, module.getClassLoader()), deploymentUnit); WeldPortableExtensions.getPortableExtensions(deploymentUnit).tryRegisterExtension(loadClass(PROBE_EXTENSION_CLASS_NAME, module.getClassLoader()), deploymentUnit);
protected WeldPortableExtensions getExtensions(DeploymentUnit deployment) { return WeldPortableExtensions.getPortableExtensions(deployment); }
public static WeldPortableExtensions getPortableExtensions(final DeploymentUnit deploymentUnit) { if (deploymentUnit.getParent() == null) { WeldPortableExtensions pes = deploymentUnit.getAttachment(WeldPortableExtensions.ATTACHMENT_KEY); if (pes == null) { deploymentUnit.putAttachment(ATTACHMENT_KEY, pes = new WeldPortableExtensions()); } return pes; } else { return getPortableExtensions(deploymentUnit.getParent()); } }
private void checkExtension(final String extensionName, DeploymentUnit deploymentUnit, DeploymentUnit parent) throws DeploymentUnitProcessingException { final Module module = deploymentUnit.getAttachment(Attachments.MODULE); Class<?> extensionClass = null; try { extensionClass = module.getClassLoader().loadClass(extensionName); } catch (ClassNotFoundException cnfe) { throw new DeploymentUnitProcessingException(cnfe); } if (extensionClass != null) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(deploymentUnit); extensions.tryRegisterExtension(extensionClass, deploymentUnit); } else { throw ExtensionMessages.MESSAGES.extensionNotfound(extensionName); } }
public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); final DeploymentUnit parent = deploymentUnit.getParent() == null ? deploymentUnit : deploymentUnit.getParent(); PropertyReplacer propertyReplacer = EJBAnnotationPropertyReplacement.propertyReplacer(deploymentUnit); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(parent); extensions.registerExtensionInstance(new JMSCDIExtension(propertyReplacer), parent); } }
private void checkExtension(final String extensionName, DeploymentUnit deploymentUnit, DeploymentUnit parent) throws DeploymentUnitProcessingException { final Module module = deploymentUnit.getAttachment(Attachments.MODULE); Class<?> extensionClass = null; try { extensionClass = module.getClassLoader().loadClass(extensionName); } catch (ClassNotFoundException cnfe) { throw new DeploymentUnitProcessingException(cnfe); } if (extensionClass != null) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(deploymentUnit); extensions.tryRegisterExtension(extensionClass, deploymentUnit); } else { throw ExtensionMessages.MESSAGES.extensionNotfound(extensionName); } }
public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); final DeploymentUnit parent = deploymentUnit.getParent() == null ? deploymentUnit : deploymentUnit.getParent(); PropertyReplacer propertyReplacer = EJBAnnotationPropertyReplacement.propertyReplacer(deploymentUnit); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(parent); extensions.registerExtensionInstance(new JMSCDIExtension(propertyReplacer), parent); } }
private void orientSetup(DeploymentUnit deploymentUnit, ModuleLoader moduleLoader, String nosqlDriverModuleName) { Class oPartitionedDatabasePoolClass; MethodHandleBuilder methodHandleBuilder = new MethodHandleBuilder(); try { oPartitionedDatabasePoolClass = moduleLoader.loadModule(ModuleIdentifier.fromString(nosqlDriverModuleName)).getClassLoader().loadClass(NoSQLConstants.ORIENTDBPARTIONEDDBPOOLCLASS); } catch (ClassNotFoundException expected) { // ignore CNFE which just means that module is not a OrientDB module return; } catch (ModuleLoadException e) { throw new RuntimeException("could not load NoSQL driver module " + nosqlDriverModuleName, e); } // only reach this point if module is a Orient driver try { final DeploymentUnit parent = deploymentUnit.getParent() == null ? deploymentUnit : deploymentUnit.getParent(); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(parent); ModuleIdentifier cdiExtensionModule = ModuleIdentifier.create(NoSQLConstants.ORIENTDBCDIEXTENSIONMODULE); methodHandleBuilder.classLoader(cdiExtensionModule); methodHandleBuilder.className(NoSQLConstants.ORIENTCDIEXTENSIONCLASS); MethodHandle extensionCtor = methodHandleBuilder.constructor(MethodType.methodType(void.class, Class.class)); Extension extension = (Extension) extensionCtor.invoke(oPartitionedDatabasePoolClass); extensions.registerExtensionInstance(extension, parent); } } catch (Throwable throwable) { throw new RuntimeException("unexpected error constructing " + methodHandleBuilder.getTargetClass().getName(), throwable); } }
private static BeanManagerAfterDeploymentValidation registerJPAEntityListenerRegister(DeploymentUnit deploymentUnit) { deploymentUnit = DeploymentUtils.getTopDeploymentUnit(deploymentUnit); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { synchronized (deploymentUnit) { BeanManagerAfterDeploymentValidation beanManagerAfterDeploymentValidation = deploymentUnit.getAttachment(JpaAttachments.BEAN_MANAGER_AFTER_DEPLOYMENT_VALIDATION_ATTACHMENT_KEY); if (null == beanManagerAfterDeploymentValidation) { beanManagerAfterDeploymentValidation = new BeanManagerAfterDeploymentValidation(); deploymentUnit.putAttachment(JpaAttachments.BEAN_MANAGER_AFTER_DEPLOYMENT_VALIDATION_ATTACHMENT_KEY, beanManagerAfterDeploymentValidation); WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(deploymentUnit); extensions.registerExtensionInstance(beanManagerAfterDeploymentValidation, deploymentUnit); } return beanManagerAfterDeploymentValidation; } } else { return new BeanManagerAfterDeploymentValidation(true); } }
private void neo4jSetup(DeploymentUnit deploymentUnit, ModuleLoader moduleLoader, String nosqlDriverModuleName) { Class driverClass; MethodHandleBuilder methodHandleBuilder = new MethodHandleBuilder(); try { driverClass = moduleLoader.loadModule(ModuleIdentifier.fromString(nosqlDriverModuleName)).getClassLoader().loadClass(NoSQLConstants.NEO4JDRIVERCLASS); } catch (ClassNotFoundException expected) { // ignore CNFE which just means that module is not a Neo4j module return; } catch (ModuleLoadException e) { throw new RuntimeException("could not load NoSQL driver module " + nosqlDriverModuleName, e); } // only reach this point if module is a Neo4j driver try { final DeploymentUnit parent = deploymentUnit.getParent() == null ? deploymentUnit : deploymentUnit.getParent(); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(parent); ModuleIdentifier cdiExtensionModule = ModuleIdentifier.create(NoSQLConstants.NEO4JCDIEXTENSIONMODULE); methodHandleBuilder.classLoader(cdiExtensionModule); methodHandleBuilder.className(NoSQLConstants.NEO4JCDIEXTENSIONCLASS); MethodHandle extensionCtor = methodHandleBuilder.constructor(MethodType.methodType(void.class, Class.class)); Extension extension = (Extension) extensionCtor.invoke(driverClass); extensions.registerExtensionInstance(extension, parent); } } catch (Throwable throwable) { throw new RuntimeException("unexpected error constructing " + methodHandleBuilder.getTargetClass().getName(), throwable); } }
private static BeanManagerAfterDeploymentValidation registerJPAEntityListenerRegister(DeploymentUnit deploymentUnit) { deploymentUnit = DeploymentUtils.getTopDeploymentUnit(deploymentUnit); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { synchronized (deploymentUnit) { BeanManagerAfterDeploymentValidation beanManagerAfterDeploymentValidation = deploymentUnit.getAttachment(JpaAttachments.BEAN_MANAGER_AFTER_DEPLOYMENT_VALIDATION_ATTACHMENT_KEY); if (null == beanManagerAfterDeploymentValidation) { beanManagerAfterDeploymentValidation = new BeanManagerAfterDeploymentValidation(); deploymentUnit.putAttachment(JpaAttachments.BEAN_MANAGER_AFTER_DEPLOYMENT_VALIDATION_ATTACHMENT_KEY, beanManagerAfterDeploymentValidation); WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(deploymentUnit); extensions.registerExtensionInstance(beanManagerAfterDeploymentValidation, deploymentUnit); } return beanManagerAfterDeploymentValidation; } } else { return new BeanManagerAfterDeploymentValidation(true); } }
private void mongoSetup(DeploymentUnit deploymentUnit, ModuleLoader moduleLoader, String nosqlDriverModuleName) { Class mongoClientClass, mongoDatabaseClass; MethodHandleBuilder methodHandleBuilder = new MethodHandleBuilder(); try { mongoClientClass = moduleLoader.loadModule(ModuleIdentifier.fromString(nosqlDriverModuleName)).getClassLoader().loadClass(NoSQLConstants.MONGOCLIENTCLASS); mongoDatabaseClass = moduleLoader.loadModule(ModuleIdentifier.fromString(nosqlDriverModuleName)).getClassLoader().loadClass(NoSQLConstants.MONGODATABASECLASS); } catch (ClassNotFoundException expected) { // ignore CNFE which just means that module is not a MongoDB module return; } catch (ModuleLoadException e) { throw new RuntimeException("could not load NoSQL driver module " + nosqlDriverModuleName, e); } // only reach this point if module is a MongoDB driver try { final DeploymentUnit parent = deploymentUnit.getParent() == null ? deploymentUnit : deploymentUnit.getParent(); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(parent); ModuleIdentifier mongoCDIExtensionModule = ModuleIdentifier.create(NoSQLConstants.MONGOCDIEXTENSIONMODULE); methodHandleBuilder.classLoader(mongoCDIExtensionModule); methodHandleBuilder.className(NoSQLConstants.MONGOCDIEXTENSIONCLASS); MethodHandle extensionCtor = methodHandleBuilder.constructor(MethodType.methodType(void.class, Class.class, Class.class)); Extension extension = (Extension) extensionCtor.invoke(mongoClientClass, mongoDatabaseClass); extensions.registerExtensionInstance(extension, parent); } } catch (Throwable throwable) { throw new RuntimeException("unexpected error constructing " + methodHandleBuilder.getTargetClass().getName(), throwable); } }
private void cassandraSetup(DeploymentUnit deploymentUnit, ModuleLoader moduleLoader, String nosqlDriverModuleName) { Class clusterClass; Class sessionClass; MethodHandleBuilder methodHandleBuilder = new MethodHandleBuilder(); try { clusterClass = moduleLoader.loadModule(ModuleIdentifier.fromString(nosqlDriverModuleName)).getClassLoader().loadClass(NoSQLConstants.CASSANDRACLUSTERCLASS); sessionClass = moduleLoader.loadModule(ModuleIdentifier.fromString(nosqlDriverModuleName)).getClassLoader().loadClass(NoSQLConstants.CASSANDRASESSIONCLASS); } catch (ClassNotFoundException expected) { // ignore CNFE which just means that module is not a Cassandra module return; } catch (ModuleLoadException e) { throw new RuntimeException("could not load NoSQL driver module " + nosqlDriverModuleName, e); } // only reach this point if module is a Cassandra driver try { final DeploymentUnit parent = deploymentUnit.getParent() == null ? deploymentUnit : deploymentUnit.getParent(); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(parent); ModuleIdentifier cdiExtensionModule = ModuleIdentifier.create(NoSQLConstants.CASSANDRACDIEXTENSIONMODULE); methodHandleBuilder.classLoader(cdiExtensionModule); methodHandleBuilder.className(NoSQLConstants.CASSANDRACDIEXTENSIONCLASS); MethodHandle extensionCtor = methodHandleBuilder.constructor(MethodType.methodType(void.class, Class.class, Class.class)); Extension extension = (Extension) extensionCtor.invoke(clusterClass, sessionClass); extensions.registerExtensionInstance(extension, parent); } } catch (Throwable throwable) { throw new RuntimeException("unexpected error constructing " + methodHandleBuilder.getTargetClass().getName(), throwable); } }
@Override public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); Module module = deploymentUnit.getAttachment(Attachments.MODULE); SmallRyeConfigBuilder builder = new SmallRyeConfigBuilder(); builder.forClassLoader(module.getClassLoader()) .addDefaultSources() .addDiscoveredSources() .addDiscoveredConverters(); addConfigSourcesFromServices(builder, phaseContext.getServiceRegistry(), module.getClassLoader()); Config config = builder.build(); ConfigProviderResolver.instance().registerConfig(config, module.getClassLoader()); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(deploymentUnit); extensions.registerExtensionInstance(new ConfigExtension(), deploymentUnit); } }
@Override public void deploy(DeploymentPhaseContext phaseContext) { DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); Module module = deploymentUnit.getAttachment(Attachments.MODULE); SmallRyeConfigBuilder builder = new SmallRyeConfigBuilder(); builder.forClassLoader(module.getClassLoader()) .addDefaultSources() .addDiscoveredSources() .addDiscoveredConverters(); addConfigSourcesFromServices(builder, phaseContext.getServiceRegistry(), module.getClassLoader()); Config config = builder.build(); ConfigProviderResolver configProviderResolver = ConfigProviderResolver.instance(); deploymentUnit.putAttachment(CONFIG, config); deploymentUnit.putAttachment(CONFIG_PROVIDER_RESOLVER, configProviderResolver); configProviderResolver.registerConfig(config, module.getClassLoader()); if (WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) { WeldPortableExtensions extensions = WeldPortableExtensions.getPortableExtensions(deploymentUnit); extensions.registerExtensionInstance(new ConfigExtension(), deploymentUnit); } }