jndiContainer = endpoint.getBundleDescriptor();
} else {
jndiContainer = Descriptor.class.cast(endpoint.getEjbComponentImpl());
}
} else {
ServiceReferenceDescriptor ref = (ServiceReferenceDescriptor) container;
if(DOLUtils.ejbType().equals(ref.getBundleDescriptor().getModuleType())) {
EjbBundleDescriptor ejbBundle = (EjbBundleDescriptor) ref.getBundleDescriptor();
Iterator<? extends 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 = Descriptor.class.cast(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();