@Override protected MDB getMDB(int ejbIndex, JBossMessageDrivenBeanMetaData enterpriseBean) throws Exception { String ejbName = ejbNames.get(ejbIndex); MDB container = super.getMDB(ejbIndex, enterpriseBean); container.setAssemblyDescriptor(dd.getAssemblyDescriptor()); if(enterpriseBean instanceof JBossMessageDrivenBeanMetaData) addMDBAnnotations(container, ejbName, (JBossMessageDrivenBeanMetaData) enterpriseBean); /* else if(enterpriseBean instanceof JBossGenericBeanMetaData) { // EJBTHREE-936: TODO: unsupported wickedness starts here JBossMessageDrivenBeanMetaData mdb = new JBossMessageDrivenBeanMetaData(); mdb.setDestinationJndiName(enterpriseBean.getMappedName()); addMDBAnnotations(container, ejbName, mdb); } */ // An MDB doesn't have business interfaces, or does it? //addInterfaces(container, enterpriseBean); addDescriptorAnnotations(container, enterpriseBean, ejbName); return container; }
@Override protected StatefulContainer getStatefulContainer(int ejbIndex, JBossSessionBeanMetaData enterpriseBean) throws Exception { String ejbName = ejbNames.get(ejbIndex); StatefulContainer container = super.getStatefulContainer(ejbIndex, enterpriseBean); container.setAssemblyDescriptor(dd.getAssemblyDescriptor()); StatefulImpl annotation = new StatefulImpl(ejbName); if (enterpriseBean != null && !isAnnotatedBean()) { addClassAnnotation(container, annotation); } if(enterpriseBean instanceof JBossSessionBeanMetaData) addInterfaces(container, (JBossSessionBeanMetaData) enterpriseBean); else log.trace("Not analyzing interfaces on " + enterpriseBean); addDescriptorAnnotations(container, enterpriseBean, ejbName, true); return container; }
@Override protected EJBContainer getStatelessContainer(int ejbIndex, JBossSessionBeanMetaData enterpriseBean) throws Exception { String ejbName = ejbNames.get(ejbIndex); EJBContainer container = super.getStatelessContainer(ejbIndex, enterpriseBean); container.setAssemblyDescriptor(dd.getAssemblyDescriptor()); StatelessImpl annotation = new StatelessImpl(ejbName); if (enterpriseBean != null && !isAnnotatedBean()) { addClassAnnotation(container, Stateless.class, annotation); } if(enterpriseBean instanceof JBossSessionBeanMetaData) addInterfaces(container, (JBossSessionBeanMetaData) enterpriseBean); else log.debug("Not analyzing interfaces on " + enterpriseBean); addDescriptorAnnotations(container, enterpriseBean, ejbName); return container; }
private void addDescriptorAnnotations(EJBContainer container, JBossEnterpriseBeanMetaData enterpriseBean, String ejbName, boolean isStateful) throws Exception { // EJBTHREE-936: TODO: another wicked patch: jndi-name might mean local-jndi-name // TODO: Make sure this is done after addInterfaces! if(enterpriseBean instanceof JBossGenericBeanMetaData) { Class<?>[] remoteAndBusinessRemoteInterfaces = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(container); if(remoteAndBusinessRemoteInterfaces.length == 0) { enterpriseBean.setLocalJndiName(enterpriseBean.getMappedName()); enterpriseBean.setMappedName(null); } } addTransactionAnnotations(container, enterpriseBean, ejbName); addAssemblyAnnotations(container, enterpriseBean, ejbName); addSecurityAnnotations(container, enterpriseBean, ejbName); addEjbAnnotations(container, enterpriseBean); addEjb21Annotations(container, isStateful); addWebServiceAnnotations(container, enterpriseBean); }
addDescriptorAnnotations(container, consumer, ejbName);
@Override protected ServiceContainer getServiceContainer(int ejbIndex, JBossServiceBeanMetaData service) throws Exception { String ejbName = ejbNames.get(ejbIndex); ServiceContainer container = super.getServiceContainer(ejbIndex, service); ServiceImpl annotation = new ServiceImpl((Service) container .resolveAnnotation(Service.class)); container.setAssemblyDescriptor(dd.getAssemblyDescriptor()); if (service != null && !isAnnotatedBean()) { if (service.getObjectName() != null) annotation.setObjectName(service.getObjectName()); if (service.getEjbName() != null) annotation.setName(service.getEjbName()); if (service.getXmbean() != null) annotation.setXMBean(service.getXmbean()); addClassAnnotation(container, Service.class, annotation); } addInterfaces(container, service); addDescriptorAnnotations(container, service, ejbName); addServiceAnnotations(container, service); return container; }