private List<String> getExposedJNDINames(JBossSessionBean31MetaData sessionBean)
{
List<String> jndiNames = new ArrayList<String>();
DefaultJndiBindingPolicy jndiPolicy = DefaultJNDIBindingPolicyFactory.getDefaultJNDIBindingPolicy();
SessionBean31JNDINameResolver jndiNameResolver = JNDIPolicyBasedJNDINameResolverFactory.getJNDINameResolver(
sessionBean, jndiPolicy);
// Determine if there are local/remote views
BusinessRemotesMetaData businessRemotes = sessionBean.getBusinessRemotes();
BusinessLocalsMetaData businessLocals = sessionBean.getBusinessLocals();
boolean hasLocalBusinessView = (businessLocals != null && businessLocals.size() > 0);
boolean hasRemoteBusinessView = (businessRemotes != null && businessRemotes.size() > 0);
// It's got a local business view, so resolve the default local business JNDI name
// and add it to the list
if (hasLocalBusinessView)
{
String defaultLocalJNDIName = jndiNameResolver.resolveLocalBusinessDefaultJNDIName(sessionBean);
if (defaultLocalJNDIName != null)
{
jndiNames.add(defaultLocalJNDIName);
}
}
// It's got a remote business view, so resolve the default remote business JNDI name
// and add it to the list
if (hasRemoteBusinessView)
{
String defaultRemoteJNDIName = jndiNameResolver.resolveRemoteBusinessDefaultJNDIName(sessionBean);
if (defaultRemoteJNDIName != null)
{
jndiNames.add(defaultRemoteJNDIName);
}
}
// It's got a nointerface view, so resolve the jndi name and add it to the list
if (sessionBean.isNoInterfaceBean())
{
String noInterfaceJNDIName = jndiNameResolver.resolveNoInterfaceJNDIName(sessionBean);
if (noInterfaceJNDIName != null)
{
jndiNames.add(noInterfaceJNDIName);
}