jndiContainer = endpoint.getBundleDescriptor();
} else {
jndiContainer = endpoint.getEjbComponentImpl();
}
} else {
ServiceReferenceDescriptor ref = (ServiceReferenceDescriptor) container;
if(ModuleType.EJB.equals(ref.getBundleDescriptor().getModuleType())) {
EjbBundleDescriptor ejbBundle = (EjbBundleDescriptor) ref.getBundleDescriptor();
Iterator<EjbDescriptor> ejbsIter = ejbBundle.getEjbs().iterator();
while(ejbsIter.hasNext()) {
EjbDescriptor ejb = ejbsIter.next();
try {
if(ejb.getServiceReferenceByName(ref.getName()) != null) {
// found the ejb; break out of the loop
jndiContainer = ejb;
break;
}
} catch (IllegalArgumentException illex) {
// this ejb does not have a service-ref by this name;
// swallow this exception and go to next
}
}
} else {
jndiContainer = ref.getBundleDescriptor();
}
}
ResourceContainerContextImpl newContext = new ResourceContainerContextImpl(jndiContainer);
ProcessingContext ctx = annInfo.getProcessingContext();