public InterceptorBinding(final EnterpriseBean bean, final Interceptor... interceptors) { this(bean.getEjbName(), interceptors); this.className = bean.getEjbClass(); }
entries.addAll(bean.getEjbLocalRef()); entries.addAll(bean.getEjbRef()); entries.addAll(bean.getEnvEntry()); entries.addAll(bean.getMessageDestinationRef()); entries.addAll(bean.getPersistenceContextRef()); entries.addAll(bean.getPersistenceUnitRef()); entries.addAll(bean.getResourceEnvRef()); entries.addAll(bean.getResourceRef()); entries.addAll(bean.getServiceRef());
private void defaultName(final EnterpriseBean e) { if (e.getEjbName() == null) { e.setEjbName("@NULL@" + e.hashCode()); } }
EnterpriseBean[] enterpriseBeans = ejbModule.getEjbJar().getEnterpriseBeans(); for (EnterpriseBean bean : enterpriseBeans) { final String ejbName = bean.getEjbName(); clazz = classLoader.loadClass(bean.getEjbClass()); } catch (ClassNotFoundException e) { throw new OpenEJBException("Unable to load bean class: " + bean.getEjbClass(), e); if (bean.getTransactionType() == null) { TransactionManagement tx = getInheritableAnnotation(clazz, TransactionManagement.class); TransactionManagementType transactionType = TransactionManagementType.CONTAINER; bean.setTransactionType(TransactionType.BEAN); break; case CONTAINER: bean.setTransactionType(TransactionType.CONTAINER); break; if (bean.getTransactionType() == TransactionType.CONTAINER) { processAttributes(new TransactionAttributeHandler(assemblyDescriptor, ejbName), clazz, inheritedClassFinder); } else { Class<?> clazz; try { clazz = classLoader.loadClass(bean.getEjbClass()); } catch (ClassNotFoundException e) { throw new OpenEJBException("Unable to load bean class: " + bean.getEjbClass(), e); bean.getEnvEntry().addAll(interceptor.getEnvEntry());
final EnterpriseBean[] enterpriseBeans = ejbModule.getEjbJar().getEnterpriseBeans(); for (final EnterpriseBean bean : enterpriseBeans) { final String ejbName = bean.getEjbName(); final String ejbClassName = realClassName(bean.getEjbClass()); others.add(otherBean.getEjbName()); if (bean.getTransactionType() == null) { final TransactionManagement tx = getInheritableAnnotation(clazz, TransactionManagement.class); TransactionManagementType transactionType = TransactionManagementType.CONTAINER; bean.setTransactionType(TransactionType.BEAN); break; case CONTAINER: bean.setTransactionType(TransactionType.CONTAINER); break; if (bean.getTransactionType() == TransactionType.CONTAINER) { processAttributes(new TransactionAttributeHandler(assemblyDescriptor, ejbName), clazz, annotationFinder); } else { if (BeanContext.Comp.class.getName().equals(bean.getEjbClass())) { buildAnnotatedRefs(bean, ejbModule.getFinder(), classLoader); mergeJndiReferences(interceptor.getEnvEntryMap(), bean.getEnvEntryMap()); mergeJndiReferences(interceptor.getEjbRefMap(), bean.getEjbRefMap()); mergeJndiReferences(interceptor.getEjbLocalRefMap(), bean.getEjbLocalRefMap()); mergeJndiReferences(interceptor.getResourceRefMap(), bean.getResourceRefMap()); mergeJndiReferences(interceptor.getResourceEnvRefMap(), bean.getResourceEnvRefMap());
final EjbDeployment ejbDeployment = ejbDeployments.get(enterpriseBean.getEjbName()); enterpriseBean.setId(ejbDeployment.getDeploymentId()); for (final ResourceRef ref : enterpriseBean.getResourceRef()) { final ResourceLink resourceLink = ejbDeployment.getResourceLink(ref.getName()); if (resourceLink != null && resourceLink.getResId() != null /* don't overwrite with null */) { for (final ResourceEnvRef ref : enterpriseBean.getResourceEnvRef()) { final ResourceLink resourceLink = ejbDeployment.getResourceLink(ref.getName()); if (resourceLink != null && resourceLink.getResId() != null /* don't overwrite with null */) { for (final MessageDestinationRef ref : enterpriseBean.getMessageDestinationRef()) { final ResourceLink resourceLink = ejbDeployment.getResourceLink(ref.getName()); if (resourceLink != null && resourceLink.getResId() != null /* don't overwrite with null */) { for (final EjbRef ref : enterpriseBean.getEjbRef()) { final EjbLink ejbLink = ejbDeployment.getEjbLink(ref.getName()); if (ejbLink != null && ejbLink.getDeployentId() != null /* don't overwrite with null */) { for (final EjbLocalRef ref : enterpriseBean.getEjbLocalRef()) { final EjbLink ejbLink = ejbDeployment.getEjbLink(ref.getName()); if (ejbLink != null && ejbLink.getDeployentId() != null /* don't overwrite with null */) {
for (final EjbRef ref : enterpriseBean.getEjbRef()) { for (final MessageDestinationRef ref : enterpriseBean.getMessageDestinationRef()) { final String refName = ref.getMessageDestinationRefName(); ref.setMappedName(MAPPED_NAME_PREFIX + refName); for (final PersistenceContextRef ref : enterpriseBean.getPersistenceContextRef()) { final String refName = ref.getPersistenceContextRefName(); ref.setMappedName(MAPPED_NAME_PREFIX + refName); for (final PersistenceUnitRef ref : enterpriseBean.getPersistenceUnitRef()) { final String refName = ref.getPersistenceUnitRefName(); ref.setMappedName(MAPPED_NAME_PREFIX + refName); for (final ResourceRef ref : enterpriseBean.getResourceRef()) { final String refName = ref.getResRefName(); ref.setMappedName(MAPPED_NAME_PREFIX + refName); for (final ResourceEnvRef ref : enterpriseBean.getResourceEnvRef()) { final String refName = ref.getResourceEnvRefName(); ref.setMappedName(MAPPED_NAME_PREFIX + refName); for (final ServiceRef ref : enterpriseBean.getServiceRef()) { final String refName = ref.getServiceRefName(); ref.setMappedName(MAPPED_NAME_PREFIX + refName);
public EjbDeployment(EnterpriseBean bean) { this.deploymentId = bean.getEjbName(); this.ejbName = bean.getEjbName(); }
final Class ejbClass; try { ejbClass = loadClass(bean.getEjbClass()); } catch (final OpenEJBException e) { continue; checkAroundInvoke(ejbClass, aroundInvoke, bean.getEjbName()); checkAroundTimeout(ejbClass, aroundTimeout, bean.getEjbName()); for (final LifecycleCallback callback : bean.getPostConstruct()) { checkCallback(ejbClass, "PostConstruct", callback, bean); for (final LifecycleCallback callback : bean.getPreDestroy()) { checkCallback(ejbClass, "PreDestroy", callback, bean); ignoredMethodAnnotation("AroundTimeout", bean, bean.getEjbClass(), aroundTimeout.getMethodName(), SessionType.STATEFUL.getName()); ignoredMethodAnnotation("Schedule/Schedules", bean, bean.getEjbClass(), timer.getTimeoutMethod().getMethodName(), SessionType.STATEFUL.getName()); ignoredMethodAnnotation("AfterBegin", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName()); ignoredMethodAnnotation("BeforeCompletion", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName()); ignoredMethodAnnotation("AfterCompletion", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName()); ignoredMethodAnnotation("PrePassivate", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName()); ignoredMethodAnnotation("PostActivate", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName());
final EjbDeployment ejbDeployment = deployments.get(bean.getEjbName()); if (ejbDeployment == null) { throw new OpenEJBException("No ejb deployment found for ejb " + bean.getEjbName()); logger.debug("Bean type of bean {0} is {1}", bean.getEjbName(), beanType); logger.debug("Container for bean {0} is not set, looking for a suitable container", bean.getEjbName()); logger.debug("Suitable container for bean {0} not found, creating one", bean.getEjbName()); containerId = createContainer(containerInfoType, ejbDeployment, bean); logger.debug("Setting container ID {0} for bean {1}", containerId, bean.getEjbName()); ejbDeployment.setContainerId(containerId); logger.debug("Container ID for bean {0} is {1}", bean.getEjbName(), ejbDeployment.getContainerId()); for (final ResourceRef ref : bean.getResourceRef()) { processResourceRef(ref, ejbDeployment, appResources, ejbModule); for (final JndiReference ref : bean.getResourceEnvRef()) { processResourceEnvRef(ref, ejbDeployment, appResources, ejbModule.getClassLoader()); for (final MessageDestinationRef ref : bean.getMessageDestinationRef()) { processResourceEnvRef(ref, ejbDeployment, appResources, ejbModule.getClassLoader()); if (resourceLink != null) { try { final String destinationId = getResourceEnvId(bean.getEjbName(), resourceLink.getResId(), mdb.getMessageDestinationType(), appResources); resourceLink.setResId(destinationId);
final Class<?> clazz = ejbModule.getClassLoader().loadClass(bean.getEjbClass()); sessionBean.setSessionType(getSessionType(clazz)); } catch (final Throwable handledInValidation) { if (bean.getEjbClass() == null) { continue; if (bean.getEjbName() == null || bean.getEjbName().startsWith("@NULL@")) { ejbModule.getEjbJar().removeEnterpriseBean(bean.getEjbName()); try { final Class<?> clazz = ejbModule.getClassLoader().loadClass(bean.getEjbClass()); final String ejbName = getEjbName(bean, clazz); bean.setEjbName(ejbName); } catch (final Throwable handledInValidation) { ejbJar.addEnterpriseBean(enterpriseBean); if (enterpriseBean.getEjbClass() == null) { enterpriseBean.setEjbClass(beanClass.get()); if (enterpriseBean.getEjbClass() == null) { enterpriseBean.setEjbClass(beanClass.get()); if (enterpriseBean.getEjbClass() == null) { enterpriseBean.setEjbClass(beanClass.get()); if (enterpriseBean.getEjbClass() == null) { enterpriseBean.setEjbClass(beanClass.get());
private org.apache.openejb.api.EjbDeployment getEjbDeploymentAnnotation(final EjbModule ejbModule, final EnterpriseBean bean) { try { final Class<?> beanClass = ejbModule.getClassLoader().loadClass(bean.getEjbClass()); return beanClass.getAnnotation(org.apache.openejb.api.EjbDeployment.class); } catch (final ClassNotFoundException e) { // this should never happen, the class has already been loaded a ton of times by this point // unfortunately we have some unit tests that prevent us from throwing an exception just in case // Those are OpenEjb2ConversionTest and SunCmpConversionTest return null; } }
public void validate(EjbModule ejbModule) { for (EnterpriseBean bean : ejbModule.getEjbJar().getEnterpriseBeans()) { String beanType = getType(bean); if (beanType.equals("Stateful")) continue; // skip statefuls for (PersistenceContextRef ref : bean.getPersistenceContextRef()) { if (isExtented(ref)) { String refName = ref.getName(); String prefix = bean.getEjbClass() + "/"; if (refName.startsWith(prefix)) { refName = refName.substring(prefix.length()); } fail(bean, "persistenceContextExtented.nonStateful", refName, beanType); } } } }
MessageDrivenBean mdb = (MessageDrivenBean) bean; EjbDeployment ejbDeployment = openejbJar.getDeploymentsByEjbName().get(bean.getEjbName()); if (ejbDeployment == null) { throw new OpenEJBException("No ejb deployment found for ejb " + bean.getEjbName()); EjbDeployment ejbDeployment = openejbJar.getDeploymentsByEjbName().get(bean.getEjbName()); if (ejbDeployment == null) { throw new OpenEJBException("No ejb deployment found for ejb " + bean.getEjbName()); for (MessageDestinationRef ref : bean.getMessageDestinationRef()) { EjbDeployment ejbDeployment = openejbJar.getDeploymentsByEjbName().get(bean.getEjbName()); if (ejbDeployment == null) { throw new OpenEJBException("No ejb deployment found for ejb " + bean.getEjbName());
public AppModule deploy(final AppModule appModule) throws OpenEJBException { for (final EjbModule ejbModule : appModule.getEjbModules()) { final OpenejbJar openejbJar = ejbModule.getOpenejbJar(); if (openejbJar == null) { return appModule; } final Map<String, EjbDeployment> ejbDeployments = openejbJar.getDeploymentsByEjbName(); for (final EnterpriseBean enterpriseBean : ejbModule.getEjbJar().getEnterpriseBeans()) { final EjbDeployment ejbDeployment = ejbDeployments.get(enterpriseBean.getEjbName()); if (ejbDeployment == null) { continue; } final String mappedName = enterpriseBean.getMappedName(); if (mappedName != null && mappedName.length() > 0) { ejbDeployment.getJndi().add(new Jndi(mappedName, "Remote")); } } } return appModule; } }
Class<?> ejbClass; try { ejbClass = ejbModule.getEarContext().getDeploymentBundle().loadClass(bean.getEjbClass()); } catch (ClassNotFoundException e) { throw new DeploymentException("Could not load ejb class", e); gbean.setAttribute("beanManagedTransactions", bean.getTransactionType() == TransactionType.BEAN);
String ejbName = bean.getEjbName(); String deploymentId = getDeploymentId(ejbName, ejbJarInfo); GBeanData gbean = getEjbGBean(ejbName); String ejbName = bean.getEjbName().trim(); GBeanData gbean = getEjbGBean(ejbName); Collection<ResourceRef> resourceRefs = bean.getResourceRef(); processResourceEnvironment(gbean, resourceRefs, geronimoOpenejb);
public void validate(final EjbModule ejbModule) { for (final EnterpriseBean bean : ejbModule.getEjbJar().getEnterpriseBeans()) { if (bean.getTransactionType() == CONTAINER) { final Collection<ResourceEnvRef> resRefs = bean.getResourceEnvRef(); for (final ResourceEnvRef resRef : resRefs) { if ("javax.transaction.UserTransaction".equals(resRef.getResourceEnvRefType())) { fail(bean, "userTransactionRef.forbiddenForCmtdBeans", resRef.getName()); } } } } } }
ejbJar.addEnterpriseBean(enterpriseBean); if (enterpriseBean.getEjbClass() == null) { enterpriseBean.setEjbClass(beanClass.getName()); ejbJar.addEnterpriseBean(enterpriseBean); if (enterpriseBean.getEjbClass() == null) { enterpriseBean.setEjbClass(beanClass.getName()); ejbJar.addEnterpriseBean(enterpriseBean); if (enterpriseBean.getEjbClass() == null) { enterpriseBean.setEjbClass(beanClass.getName()); ejbJar.addEnterpriseBean(enterpriseBean); if (enterpriseBean.getEjbClass() == null) { enterpriseBean.setEjbClass(beanClass.getName());
final EnterpriseBean[] enterpriseBeans = ejbModule.getEjbJar().getEnterpriseBeans(); for (final EnterpriseBean bean : enterpriseBeans) { final String ejbName = bean.getEjbName(); final String ejbClassName = realClassName(bean.getEjbClass()); others.add(otherBean.getEjbName()); if (bean.getTransactionType() == null) { final TransactionManagement tx = getInheritableAnnotation(clazz, TransactionManagement.class); TransactionManagementType transactionType = TransactionManagementType.CONTAINER; bean.setTransactionType(TransactionType.BEAN); break; case CONTAINER: bean.setTransactionType(TransactionType.CONTAINER); break; if (bean.getTransactionType() == TransactionType.CONTAINER) { processAttributes(new TransactionAttributeHandler(assemblyDescriptor, ejbName), clazz, annotationFinder); } else { if (BeanContext.Comp.class.getName().equals(bean.getEjbClass())) { buildAnnotatedRefs(bean, ejbModule.getFinder(), classLoader); mergeJndiReferences(interceptor.getEnvEntryMap(), bean.getEnvEntryMap()); mergeJndiReferences(interceptor.getEjbRefMap(), bean.getEjbRefMap()); mergeJndiReferences(interceptor.getEjbLocalRefMap(), bean.getEjbLocalRefMap()); mergeJndiReferences(interceptor.getResourceRefMap(), bean.getResourceRefMap()); mergeJndiReferences(interceptor.getResourceEnvRefMap(), bean.getResourceEnvRefMap());