// the base ServiceName which will be used to create the ServiceName(s) for each of the view bindings
ServiceName baseServiceName = deploymentUnit.getServiceName().append("component").append(sessionBeanComponentDescription.getComponentName());
// now create the bindings
for (String viewClassName : localBusinessInterfaces) {
final BindingDescription globalBinding = new BindingDescription();
globalBinding.setAbsoluteBinding(true);
String globalJNDIName = globalJNDIBaseName + "!" + viewClassName;
globalBinding.setBindingName(globalJNDIName);
globalBinding.setBindingType(viewClassName);
globalBinding.setReferenceSourceDescription(new ServiceBindingSourceDescription(baseServiceName.append("VIEW").append(viewClassName)));
// add the binding to the component description
componentDescription.getBindings().add(globalBinding);
logger.debug("Added java:global jndi binding at " + globalJNDIName + " for local view: " + viewClassName + " of session bean: " + sessionBeanComponentDescription.getEJBName());
// java:app bindings
final BindingDescription appBinding = new BindingDescription();
appBinding.setAbsoluteBinding(true);
String appJNDIName = appJNDIBaseName + "!" + viewClassName;
appBinding.setBindingName(appJNDIName);
appBinding.setBindingType(viewClassName);
appBinding.setReferenceSourceDescription(new ServiceBindingSourceDescription(baseServiceName.append("VIEW").append(viewClassName)));
// add the binding to the component description
componentDescription.getBindings().add(appBinding);
logger.debug("Added java:app jndi binding at " + appJNDIName + " for local view: " + viewClassName + " of session bean: " + sessionBeanComponentDescription.getEJBName());
// java:module bindings
final BindingDescription moduleBinding = new BindingDescription();
moduleBinding.setAbsoluteBinding(true);
String moduleJNDIName = moduleJNDIBaseName + "!" + viewClassName;
moduleBinding.setBindingName(moduleJNDIName);
moduleBinding.setBindingType(viewClassName);
moduleBinding.setReferenceSourceDescription(new ServiceBindingSourceDescription(baseServiceName.append("VIEW").append(viewClassName)));
// add the binding to the component description
componentDescription.getBindings().add(moduleBinding);
logger.debug("Added java:module jndi binding at " + moduleJNDIName + " for local view: " + viewClassName + " of session bean: " + sessionBeanComponentDescription.getEJBName());
}