private boolean isCDIEnabled ( WebSphereBeanDeploymentArchive bda ) { Boolean hasBeans = cdiStatusMap . get ( bda . getId ( ) ) ; if ( hasBeans == null ) { //it's enabled if it has beans or it is an extension which could add beans hasBeans = bda . hasBeans ( ) || bda . isExtension ( ) ; //setting this now should prevent loops when checking children in the next step cdiStatusMap . put ( bda . getId ( ) , hasBeans ) ; //it's also enabled if any of it's children are enabled (but not including runtime extensions) hasBeans = hasBeans || isCDIEnabled ( bda . getWebSphereBeanDeploymentArchives ( ) ) ; //remember the result cdiStatusMap . put ( bda . getId ( ) , hasBeans ) ; } return hasBeans ; }
Does the specified BDA or any of BDAs accessible by it have any beans or it is an extension which could add beans