protected void processBeanMetaData(EnterpriseBeanMetaData beanMetaData, DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
final SecurityIdentityMetaData securityIdentity = beanMetaData.getSecurityIdentity();
if (securityIdentity == null) {
return;
}
final RunAsMetaData runAs = securityIdentity.getRunAs();
if (runAs == null) {
return;
}
final String runAsRole = runAs.getRoleName();
if (runAsRole != null && !runAsRole.trim().isEmpty()) {
final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit();
final EEModuleDescription moduleDescription = deploymentUnit.getAttachment(Attachments.EE_MODULE_DESCRIPTION);
final EJBComponentDescription ejbComponentDescription = (EJBComponentDescription) moduleDescription.getComponentByName(beanMetaData.getEjbName());
ejbComponentDescription.setRunAs(runAsRole);