@Override protected void handleDeploymentDescriptor(final DeploymentUnit deploymentUnit, final DeploymentReflectionIndex deploymentReflectionIndex, final Class<?> componentClass, final MessageDrivenComponentDescription componentConfiguration) throws DeploymentUnitProcessingException { final String ejbName = componentConfiguration.getEJBName(); final EjbJarMetaData metaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (metaData == null) { return; } final AssemblyDescriptorMetaData assemblyDescriptor = metaData.getAssemblyDescriptor(); if (assemblyDescriptor == null) { return; } final List<EJBBoundResourceAdapterBindingMetaData> resourceAdapterBindingDataList = assemblyDescriptor.getAny(EJBBoundResourceAdapterBindingMetaData.class); String configuredAdapterName = null; if (resourceAdapterBindingDataList != null) { for (EJBBoundResourceAdapterBindingMetaData resourceAdapterBindingData: resourceAdapterBindingDataList) { if ("*".equals(resourceAdapterBindingData.getEjbName()) && configuredAdapterName == null) { configuredAdapterName = resourceAdapterBindingData.getResourceAdapterName(); } else if (ejbName.equals(resourceAdapterBindingData.getEjbName())) { configuredAdapterName = resourceAdapterBindingData.getResourceAdapterName(); } } } if (configuredAdapterName != null) { final String adapterName = addEarPrefixIfRelativeName(configuredAdapterName,deploymentUnit,componentClass); componentConfiguration.setResourceAdapterName(adapterName); } }
@Override protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, T description) throws DeploymentUnitProcessingException { final String ejbName = description.getEJBName(); final EjbJarMetaData metaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (metaData == null) { return; } final AssemblyDescriptorMetaData assemblyDescriptor = metaData.getAssemblyDescriptor(); if (assemblyDescriptor == null) { return; } // get the pool metadata final List<EJBBoundPoolMetaData> pools = assemblyDescriptor.getAny(EJBBoundPoolMetaData.class); String poolName = null; if (pools != null) { for (final EJBBoundPoolMetaData poolMetaData : pools) { // if this applies for all EJBs and if there isn't a pool name already explicitly specified // for the specific bean (i.e. via an ejb-name match) if ("*".equals(poolMetaData.getEjbName()) && poolName == null) { poolName = poolMetaData.getPoolName(); } else if (ejbName.equals(poolMetaData.getEjbName())) { poolName = poolMetaData.getPoolName(); } } } if (poolName != null) { this.setPoolName(description, poolName); } }
@Override protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, MessageDrivenComponentDescription componentDescription) throws DeploymentUnitProcessingException { final EjbJarMetaData ejbJarMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); Boolean allBeansClusteredSingleton = null; if (ejbJarMetaData != null) { final AssemblyDescriptorMetaData assemblyMetadata = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyMetadata != null) { final List<EJBBoundClusteringMetaData> clusteringMetaDatas = assemblyMetadata.getAny(EJBBoundClusteringMetaData.class); if (clusteringMetaDatas != null) { for (final EJBBoundClusteringMetaData clusteringMetaData : clusteringMetaDatas) { if ("*".equals(clusteringMetaData.getEjbName())) { allBeansClusteredSingleton = clusteringMetaData.isClusteredSingleton(); } else if (componentDescription.getComponentName().equals(clusteringMetaData.getEjbName())) { componentDescription.setClusteredSingleton(clusteringMetaData.isClusteredSingleton()); return; } } } } } if (allBeansClusteredSingleton != null && allBeansClusteredSingleton) { componentDescription.setClusteredSingleton(true); } } }
final List<EJBBoundCacheMetaData> caches = assemblyDescriptor.getAny(EJBBoundCacheMetaData.class);
@Override protected void handleDeploymentDescriptor(final DeploymentUnit deploymentUnit, final DeploymentReflectionIndex deploymentReflectionIndex, final Class<?> componentClass, final EJBComponentDescription description) throws DeploymentUnitProcessingException { String securityDomain = getJBossAppSecurityDomain(deploymentUnit); String globalSecurityDomain = null; final EjbJarMetaData ejbJarMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (ejbJarMetaData != null) { final AssemblyDescriptorMetaData assemblyMetadata = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyMetadata != null) { final List<EJBBoundSecurityMetaData> securityMetaDatas = assemblyMetadata.getAny(EJBBoundSecurityMetaData.class); if (securityMetaDatas != null) { for (final EJBBoundSecurityMetaData securityMetaData : securityMetaDatas) { if (securityMetaData.getEjbName().equals(description.getComponentName())) { securityDomain = securityMetaData.getSecurityDomain(); break; } // check global security domain if (securityMetaData.getEjbName().equals("*")) { globalSecurityDomain = securityMetaData.getSecurityDomain(); continue; } } } } } if (securityDomain != null) description.setSecurityDomain(securityDomain); else if (globalSecurityDomain != null) description.setSecurityDomain(globalSecurityDomain); }
final AssemblyDescriptorMetaData assemblyMetadata = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyMetadata != null) { final List<EJBBoundSecurityMetaData> securityMetaDatas = assemblyMetadata.getAny(EJBBoundSecurityMetaData.class); if (securityMetaDatas != null) { for (final EJBBoundSecurityMetaData securityMetaData : securityMetaDatas) {
final List<EJBBoundMdbDeliveryMetaData> deliveryMetaDataList = assemblyDescriptor.getAny(EJBBoundMdbDeliveryMetaData.class); if (deliveryMetaDataList != null) { for (EJBBoundMdbDeliveryMetaData deliveryMetaData : deliveryMetaDataList) {
final EjbJarMetaData ejbMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (ejbMetaData != null && ejbMetaData.getAssemblyDescriptor() != null) { List<IIOPMetaData> iiopMetaDatas = ejbMetaData.getAssemblyDescriptor().getAny(IIOPMetaData.class); if (iiopMetaDatas != null && iiopMetaDatas.size() > 0) { for (IIOPMetaData metaData : iiopMetaDatas) {
final List<ContainerInterceptorsMetaData> containerInterceptorConfigurations = metaData.getAssemblyDescriptor().getAny(ContainerInterceptorsMetaData.class); if (containerInterceptorConfigurations == null || containerInterceptorConfigurations.isEmpty()) { return;
EjbJarMetaData jbossMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (jbossMetaData != null && jbossMetaData.getAssemblyDescriptor() != null) { List<EJBBoundSecurityMetaData> securityMetaDatas = jbossMetaData.getAssemblyDescriptor().getAny(EJBBoundSecurityMetaData.class); if (securityMetaDatas != null) { for (EJBBoundSecurityMetaData securityMetaData : securityMetaDatas) {
List<TimerServiceMetaData> timerService = ejbJarMetaData.getAssemblyDescriptor().getAny(TimerServiceMetaData.class); if (timerService != null) { for (TimerServiceMetaData data : timerService) {
@Override protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, EJBComponentDescription ejbComponentDescription) throws DeploymentUnitProcessingException { final SecurityRolesMetaData roleMappings = new SecurityRolesMetaData(); final EjbJarMetaData ejbJarMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (ejbJarMetaData != null) { final AssemblyDescriptorMetaData assemblyDescriptorMetaData = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyDescriptorMetaData != null) { // get the mapping between principal to rolename, defined in the assembly descriptor final List<SecurityRoleMetaData> securityRoleMetaDatas = assemblyDescriptorMetaData.getAny(SecurityRoleMetaData.class); if (securityRoleMetaDatas != null) { for (SecurityRoleMetaData securityRoleMetaData : securityRoleMetaDatas) { roleMappings.add(securityRoleMetaData); } } } } //Let us look at the ear metadata also DeploymentUnit parent = deploymentUnit.getParent(); if (parent != null) { final EarMetaData earMetaData = parent.getAttachment(Attachments.EAR_METADATA); if (earMetaData != null) { SecurityRolesMetaData earSecurityRolesMetaData = earMetaData.getSecurityRoles(); SecurityRolesMetaDataMerger.merge(roleMappings, roleMappings, earSecurityRolesMetaData); } } // add it to the EJB component description ejbComponentDescription.setSecurityRoles(roleMappings); } }
private static Set<String> getSecurityRoles(final DeploymentUnit unit) { final Set<String> securityRoles = new HashSet<String>(); // process assembly-descriptor DD section final EjbJarMetaData ejbJarMD = unit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (ejbJarMD != null && ejbJarMD.getAssemblyDescriptor() != null) { final List<SecurityRoleMetaData> securityRoleMetaDatas = ejbJarMD.getAssemblyDescriptor().getAny(SecurityRoleMetaData.class); if (securityRoleMetaDatas != null) { for (final SecurityRoleMetaData securityRoleMetaData : securityRoleMetaDatas) { securityRoles.add(securityRoleMetaData.getRoleName()); } } final SecurityRolesMetaData securityRolesMD = ejbJarMD.getAssemblyDescriptor().getSecurityRoles(); if (securityRolesMD != null && securityRolesMD.size() > 0) { for (final SecurityRoleMetaData securityRoleMD : securityRolesMD) { securityRoles.add(securityRoleMD.getRoleName()); } } } return (securityRoles.size() > 0) ? Collections.unmodifiableSet(securityRoles) : Collections.<String>emptySet(); }
@Override protected void handleDeploymentDescriptor(final DeploymentUnit deploymentUnit, final DeploymentReflectionIndex deploymentReflectionIndex, final Class<?> componentClass, final MessageDrivenComponentDescription componentConfiguration) throws DeploymentUnitProcessingException { final String ejbName = componentConfiguration.getEJBName(); final EjbJarMetaData metaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (metaData == null) { return; } final AssemblyDescriptorMetaData assemblyDescriptor = metaData.getAssemblyDescriptor(); if (assemblyDescriptor == null) { return; } final List<EJBBoundResourceAdapterBindingMetaData> resourceAdapterBindingDataList = assemblyDescriptor.getAny(EJBBoundResourceAdapterBindingMetaData.class); String resourceAdapterName = null; if (resourceAdapterBindingDataList != null) { for (EJBBoundResourceAdapterBindingMetaData resourceAdapterBindingData: resourceAdapterBindingDataList) { if ("*".equals(resourceAdapterBindingData.getEjbName()) && resourceAdapterName == null) { resourceAdapterName = resourceAdapterBindingData.getResourceAdapterName(); } else if (ejbName.equals(resourceAdapterBindingData.getEjbName())) { resourceAdapterName = resourceAdapterBindingData.getResourceAdapterName(); } } } if (resourceAdapterName != null) { componentConfiguration.setResourceAdapterName(resourceAdapterName); } } }
@Override protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, T description) throws DeploymentUnitProcessingException { final String ejbName = description.getEJBName(); final EjbJarMetaData metaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (metaData == null) { return; } final AssemblyDescriptorMetaData assemblyDescriptor = metaData.getAssemblyDescriptor(); if (assemblyDescriptor == null) { return; } // get the pool metadata final List<EJBBoundPoolMetaData> pools = assemblyDescriptor.getAny(EJBBoundPoolMetaData.class); String poolName = null; if (pools != null) { for (final EJBBoundPoolMetaData poolMetaData : pools) { // if this applies for all EJBs and if there isn't a pool name already explicitly specified // for the specific bean (i.e. via a ejb-name match) if ("*".equals(poolMetaData.getEjbName()) && poolName == null) { poolName = poolMetaData.getPoolName(); } else if (ejbName.equals(poolMetaData.getEjbName())) { poolName = poolMetaData.getPoolName(); } } } if (poolName != null) { this.setPoolName(description, poolName); } }
final List<EJBBoundCacheMetaData> caches = assemblyDescriptor.getAny(EJBBoundCacheMetaData.class);
@Override protected void handleDeploymentDescriptor(final DeploymentUnit deploymentUnit, final DeploymentReflectionIndex deploymentReflectionIndex, final Class<?> componentClass, final EJBComponentDescription description) throws DeploymentUnitProcessingException { String securityDomain = getJBossAppSecurityDomain(deploymentUnit); String globalSecurityDomain = null; final EjbJarMetaData ejbJarMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (ejbJarMetaData != null) { final AssemblyDescriptorMetaData assemblyMetadata = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyMetadata != null) { final List<EJBBoundSecurityMetaData> securityMetaDatas = assemblyMetadata.getAny(EJBBoundSecurityMetaData.class); if (securityMetaDatas != null) { for (final EJBBoundSecurityMetaData securityMetaData : securityMetaDatas) { if (securityMetaData.getEjbName().equals(description.getComponentName())) { securityDomain = securityMetaData.getSecurityDomain(); break; } // check global security domain if (securityMetaData.getEjbName().equals("*")) { globalSecurityDomain = securityMetaData.getSecurityDomain(); continue; } } } } } if (securityDomain != null) description.setSecurityDomain(securityDomain); else if (globalSecurityDomain != null) description.setSecurityDomain(globalSecurityDomain); }
final AssemblyDescriptorMetaData assemblyMetadata = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyMetadata != null) { final List<EJBBoundSecurityMetaData> securityMetaDatas = assemblyMetadata.getAny(EJBBoundSecurityMetaData.class); if (securityMetaDatas != null) { for (final EJBBoundSecurityMetaData securityMetaData : securityMetaDatas) {
final AssemblyDescriptorMetaData assemblyMetadata = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyMetadata != null) { final List<EJBBoundClusteringMetaData> clusteringMetaDatas = assemblyMetadata.getAny(EJBBoundClusteringMetaData.class); if (clusteringMetaDatas != null) { for (final EJBBoundClusteringMetaData clusteringMetaData : clusteringMetaDatas) {
@Override protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, EJBComponentDescription ejbComponentDescription) throws DeploymentUnitProcessingException { final SecurityRolesMetaData roleMappings = new SecurityRolesMetaData(); final EjbJarMetaData ejbJarMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (ejbJarMetaData != null) { final AssemblyDescriptorMetaData assemblyDescriptorMetaData = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyDescriptorMetaData != null) { // get the mapping between principal to rolename, defined in the assembly descriptor final List<SecurityRoleMetaData> securityRoleMetaDatas = assemblyDescriptorMetaData.getAny(SecurityRoleMetaData.class); if (securityRoleMetaDatas != null) { for (SecurityRoleMetaData securityRoleMetaData : securityRoleMetaDatas) { roleMappings.add(securityRoleMetaData); } } } } //Let us look at the ear metadata also DeploymentUnit parent = deploymentUnit.getParent(); if (parent != null) { final EarMetaData earMetaData = parent.getAttachment(Attachments.EAR_METADATA); if (earMetaData != null) { SecurityRolesMetaData earSecurityRolesMetaData = earMetaData.getSecurityRoles(); SecurityRolesMetaDataMerger.merge(roleMappings, roleMappings, earSecurityRolesMetaData); } } // add it to the EJB component description ejbComponentDescription.setSecurityRoles(roleMappings); } }