/** * IASRI 4725194 * Returns the Execution class ,which is same as the user-specified class * in case of Message,Session and Bean Managed Persistence Entity Beans * but is different for Container Mananged Persistence Entity Bean * Therefore,the implementation in the base class is to return * getEjbClassName() and the method is redefined in IASEjbCMPDescriptor. */ public String getEjbImplClassName() { return this.getEjbClassName(); }
@Override public String toString(){ return ejbDesc.getEjbClassName(); } }
private void populateEJBsForThisBDA(Collection<com.sun.enterprise.deployment.EjbDescriptor> ejbs) { for (com.sun.enterprise.deployment.EjbDescriptor next : ejbs) { for (String className : moduleClassNames) { if (className.equals(next.getEjbClassName())) { EjbDescriptorImpl wbEjbDesc = new EjbDescriptorImpl(next); ejbDescImpls.add(wbEjbDesc); } } } }
/** * Returns all ejb descriptors that has a give Class name. * It returns an empty array if no ejb is found. */ public EjbDescriptor[] getEjbByClassName(String className) { ArrayList<EjbDescriptor> ejbList = new ArrayList<EjbDescriptor>(); for (Object ejb : this.getEjbs()) { if (ejb instanceof EjbDescriptor) { EjbDescriptor ejbDesc = (EjbDescriptor)ejb; if (className.equals(ejbDesc.getEjbClassName())) { ejbList.add(ejbDesc); } } } return ejbList.toArray(new EjbDescriptor[ejbList.size()]); }
public EjbContext(EjbDescriptor currentEjb, Class ejbClass) { super(currentEjb); componentClassName = currentEjb.getEjbClassName(); ComponentDefinition cdef = new ComponentDefinition(ejbClass); methods = cdef.getMethods(); Class superClass = ejbClass.getSuperclass(); inherited = (superClass != null && !Object.class.equals(superClass)); }
/** * Return a Vector of the Field objetcs of this ejb. */ public Vector getFields() { Vector fieldsVector = new Vector(); Class ejb = null; try { ClassLoader cl = getEjbBundleDescriptor().getClassLoader(); ejb = cl.loadClass(this.getEjbClassName()); } catch (Throwable t) { _logger.log(Level.SEVERE, "enterprise.deployment.backend.methodClassLoadFailure", new Object[]{this.getEjbClassName()}); return fieldsVector; } Field[] fields = ejb.getFields(); for (int i = 0; i < fields.length; i++) { fieldsVector.addElement(fields[i]); } return fieldsVector; }
public EjbContext(EjbDescriptor currentEjb, Class ejbClass) { super((Descriptor) currentEjb); // FIXME by srini - can we extract intf to avoid this componentClassName = currentEjb.getEjbClassName(); ComponentDefinition cdef = new ComponentDefinition(ejbClass); methods = cdef.getMethods(); Class superClass = ejbClass.getSuperclass(); inherited = (superClass != null && !Object.class.equals(superClass)); }
@SuppressWarnings("unchecked") public Class<T> getBeanClass() { @SuppressWarnings("rawtypes") Class beanClassType = null; try { beanClassType = ejbDesc.getEjbBundleDescriptor().getClassLoader().loadClass(ejbDesc.getEjbClassName()); } catch(ClassNotFoundException e) { throw new IllegalStateException(e); } return beanClassType; }
/** * Return the set of method objects representing no-interface view */ public Set<Method> getOptionalLocalBusinessMethods() { Set<Method> methods = new HashSet<Method>(); try { Class c = getEjbBundleDescriptor().getClassLoader().loadClass(getEjbClassName()); Method[] ms = c.getMethods(); for (Method m : ms) { if (m.getDeclaringClass() != Object.class) { methods.add(m); } } } catch (Throwable t) { _logger.log(Level.SEVERE, "enterprise.deployment.backend.methodClassLoadFailure", new Object[]{"(EjbDescriptor.getMethods())"}); throw new RuntimeException(t); } return methods; }
public boolean isEjbManagedObject(Object desc, Class c) { String className = c.getName(); EjbDescriptor ejbDesc = (EjbDescriptor) desc; Set<String> ejbManagedObjectClassNames = new HashSet<String>(); ejbManagedObjectClassNames.add(ejbDesc.getEjbClassName()); for(EjbInterceptor next : ejbDesc.getInterceptorClasses()) { if( !next.isCDIInterceptor() ) { ejbManagedObjectClassNames.add(next.getInterceptorClassName()); } } Set<String> serializableClassNames = new HashSet<String>(); for(String next : ejbManagedObjectClassNames) { // Add the serializable sub-class version of each name as well serializableClassNames.add(EJBUtils.getGeneratedSerializableClassName(next)); } boolean isEjbManagedObject = ejbManagedObjectClassNames.contains(className) || serializableClassNames.contains(className); return isEjbManagedObject; }
public Method getDeclaredMethod(EjbDescriptor ejbDescriptor, Class[] javaParamClassNames) { try { ClassLoader classloader = ejbDescriptor.getEjbBundleDescriptor().getClassLoader(); Class nextClass = classloader.loadClass(ejbDescriptor.getEjbClassName()); String mname = getName(); while((nextClass != Object.class) && (nextClass != null)) { // Do not use TypeUtil not to spend time converting parameter // types for each call. try { return nextClass.getDeclaredMethod(mname, javaParamClassNames); } catch (NoSuchMethodException nsme) { nextClass = nextClass.getSuperclass(); } } } catch(Exception e) { _logger.log(Level.SEVERE,"enterprise.deployment.backend.methodClassLoadFailure",new Object[]{ejbDescriptor}); } return null; }
public Method getDeclaredMethod(EjbDescriptor ejbDescriptor, Class[] javaParamClassNames) { try { ClassLoader classloader = ejbDescriptor.getEjbBundleDescriptor().getClassLoader(); Class nextClass = classloader.loadClass(ejbDescriptor.getEjbClassName()); String mname = getName(); while((nextClass != Object.class) && (nextClass != null)) { // Do not use TypeUtil not to spend time converting parameter // types for each call. try { return nextClass.getDeclaredMethod(mname, javaParamClassNames); } catch (NoSuchMethodException nsme) { nextClass = nextClass.getSuperclass(); } } } catch(Exception e) { _logger.log(Level.SEVERE,"enterprise.deployment.backend.methodClassLoadFailure",new Object[]{ejbDescriptor}); } return null; }
/** * visits an ejb descriptor * @param ejb descriptor */ public void accept(EjbDescriptor ejb) { DOLUtils.getDefaultLogger().info("=================="); DOLUtils.getDefaultLogger().info(ejb.getType() + " Bean " + ejb.getName()); DOLUtils.getDefaultLogger().info("\thomeClassName " + ejb.getHomeClassName()); DOLUtils.getDefaultLogger().info("\tremoteClassName " + ejb.getRemoteClassName()); DOLUtils.getDefaultLogger().info("\tlocalhomeClassName " +ejb.getLocalHomeClassName()); DOLUtils.getDefaultLogger().info("\tlocalClassName " + ejb.getLocalClassName()); DOLUtils.getDefaultLogger().info("\tremoteBusinessIntfs " + ejb.getRemoteBusinessClassNames()); DOLUtils.getDefaultLogger().info("\tlocalBusinessIntfs " + ejb.getLocalBusinessClassNames()); DOLUtils.getDefaultLogger().info("\tjndiName " + ejb.getJndiName()); DOLUtils.getDefaultLogger().info("\tejbClassName " + ejb.getEjbClassName()); DOLUtils.getDefaultLogger().info("\ttransactionType " + ejb.getTransactionType()); if (ejb.getUsesCallerIdentity() == false) { DOLUtils.getDefaultLogger().info("\trun-as role " + ejb.getRunAsIdentity()); } else { DOLUtils.getDefaultLogger().info("\tuse-caller-identity " + ejb.getUsesCallerIdentity()); } }
protected void addClassesFromDescriptor(EjbBundleDescriptor desc) { // always add session beans, message driven beans, // interceptor classes that are defined in ejb-jar.xml // regardless of they have annotation or not for (EjbDescriptor ejbDesc : desc.getEjbs()) { if (ejbDesc instanceof EjbSessionDescriptor || ejbDesc instanceof EjbMessageBeanDescriptor) { addScanClassName(ejbDesc.getEjbClassName()); } } for (EjbInterceptor ei : desc.getInterceptors()) { addScanClassName(ei.getInterceptorClassName()); } } }
addAllInterfaceMethodsIn(methods, classLoader.loadClass(ejbDescriptor.getEjbClassName()));
@Override public LifecycleCallbackDescriptor getDescriptor() { if (descriptor==null) { descriptor = new LifecycleCallbackDescriptor(); Descriptor parentDesc = (Descriptor)getParentNode().getDescriptor(); if (parentDesc instanceof EjbDescriptor) { EjbDescriptor ejbDesc = (EjbDescriptor)parentDesc; descriptor.setDefaultLifecycleCallbackClass( ejbDesc.getEjbClassName()); } else if (parentDesc instanceof EjbInterceptor) { EjbInterceptor ejbInterceptor = (EjbInterceptor)parentDesc; descriptor.setDefaultLifecycleCallbackClass( ejbInterceptor.getInterceptorClassName()); } } return descriptor; }
/** * @return the descriptor instance to associate with this XMLNode */ public Object getDescriptor() { if (descriptor==null) { descriptor = new LifecycleCallbackDescriptor(); Descriptor parentDesc = (Descriptor)getParentNode().getDescriptor(); if (parentDesc instanceof EjbDescriptor) { EjbDescriptor ejbDesc = (EjbDescriptor)parentDesc; descriptor.setDefaultLifecycleCallbackClass( ejbDesc.getEjbClassName()); } else if (parentDesc instanceof EjbInterceptor) { EjbInterceptor ejbInterceptor = (EjbInterceptor)parentDesc; descriptor.setDefaultLifecycleCallbackClass( ejbInterceptor.getInterceptorClassName()); } } return descriptor; }
@Override public LifecycleCallbackDescriptor getDescriptor() { if (descriptor==null) { descriptor = new LifecycleCallbackDescriptor(); Descriptor parentDesc = (Descriptor)getParentNode().getDescriptor(); if (parentDesc instanceof EjbDescriptor) { EjbDescriptor ejbDesc = (EjbDescriptor)parentDesc; descriptor.setDefaultLifecycleCallbackClass( ejbDesc.getEjbClassName()); } else if (parentDesc instanceof EjbInterceptor) { EjbInterceptor ejbInterceptor = (EjbInterceptor)parentDesc; descriptor.setDefaultLifecycleCallbackClass( ejbInterceptor.getInterceptorClassName()); } // we set the default lifecycle callback class for appclient // later in validate since the appclient Main class is not // available at this point } return descriptor; }
/** * @return the descriptor instance to associate with this XMLNode */ public Object getDescriptor() { if (descriptor==null) { descriptor = new LifecycleCallbackDescriptor(); Descriptor parentDesc = (Descriptor)getParentNode().getDescriptor(); if (parentDesc instanceof EjbDescriptor) { EjbDescriptor ejbDesc = (EjbDescriptor)parentDesc; descriptor.setDefaultLifecycleCallbackClass( ejbDesc.getEjbClassName()); } else if (parentDesc instanceof EjbInterceptor) { EjbInterceptor ejbInterceptor = (EjbInterceptor)parentDesc; descriptor.setDefaultLifecycleCallbackClass( ejbInterceptor.getInterceptorClassName()); } // we set the default lifecycle callback class for appclient // later in validate since the appclient Main class is not // available at this point } return descriptor; }
descriptor.getWebServiceEndpointInterfaceName()); appendTextChild(ejbNode, EjbTagNames.EJB_CLASS, descriptor.getEjbClassName());