public BusinessLocalHome getBusinessLocalHome(final List<Class> interfaces, final Class mainInterface) { if (getBusinessLocalInterfaces().size() == 0) { throw new IllegalStateException("This component has no business local interfaces: " + getDeploymentID()); } if (interfaces.size() == 0) { throw new IllegalArgumentException("No interface classes were specified"); } for (final Class clazz : interfaces) { if (!getBusinessLocalInterfaces().contains(clazz)) { throw new IllegalArgumentException("Not a business interface of this bean:" + clazz.getName()); } } return (BusinessLocalHome) EjbHomeProxyHandler.createHomeProxy(this, InterfaceType.BUSINESS_LOCAL_HOME, interfaces, mainInterface); }
public BusinessLocalHome getBusinessLocalHome() { return getBusinessLocalHome(getBusinessLocalInterfaces(), null); }
public BusinessLocalHome getBusinessLocalHome() { return getBusinessLocalHome(getBusinessLocalInterfaces(), null); }
public static Method doResolveViewMethod(final Bean<?> component, final Method declaredMethod) { if (!(component instanceof CdiEjbBean)) { return declaredMethod; } final CdiEjbBean cdiEjbBean = (CdiEjbBean) component; final BeanContext beanContext = cdiEjbBean.getBeanContext(); for (final Class intface : beanContext.getBusinessLocalInterfaces()) { try { return intface.getMethod(declaredMethod.getName(), declaredMethod.getParameterTypes()); } catch (final NoSuchMethodException ignore) { // no-op } } return null; }
public BusinessLocalHome getBusinessLocalHome(final List<Class> interfaces, final Class mainInterface) { if (getBusinessLocalInterfaces().size() == 0) { throw new IllegalStateException("This component has no business local interfaces: " + getDeploymentID()); } if (interfaces.size() == 0) { throw new IllegalArgumentException("No interface classes were specified"); } for (final Class clazz : interfaces) { if (!getBusinessLocalInterfaces().contains(clazz) && !getBusinessRemoteInterfaces().contains(clazz) /* for CDI mainly */) { throw new IllegalArgumentException("Not a business interface of this bean:" + clazz.getName()); } } return (BusinessLocalHome) EjbHomeProxyHandler.createHomeProxy(this, InterfaceType.BUSINESS_LOCAL_HOME, interfaces, mainInterface); }
public List<Class> getInterfaces(final InterfaceType interfaceType) { switch (interfaceType) { case BUSINESS_REMOTE: return getBusinessRemoteInterfaces(); case BUSINESS_LOCAL: return getBusinessLocalInterfaces(); default: final List<Class> interfaces = new ArrayList<Class>(); interfaces.add(getInterface(interfaceType)); return interfaces; } }
public List<Class> getInterfaces(final InterfaceType interfaceType) { switch (interfaceType) { case BUSINESS_REMOTE: return getBusinessRemoteInterfaces(); case BUSINESS_LOCAL: return getBusinessLocalInterfaces(); default: final List<Class> interfaces = new ArrayList<Class>(); interfaces.add(getInterface(interfaceType)); return interfaces; } }
public List<Class> getObjectInterface(final Class homeInterface) { if (BusinessLocalHome.class.isAssignableFrom(homeInterface)) { return getBusinessLocalInterfaces(); } else if (BusinessRemoteHome.class.isAssignableFrom(homeInterface)) { return getBusinessRemoteInterfaces(); } else if (EJBLocalHome.class.isAssignableFrom(homeInterface)) { final List<Class> classes = new ArrayList<Class>(); classes.add(getLocalInterface()); return classes; } else if (EJBHome.class.isAssignableFrom(homeInterface)) { final List<Class> classes = new ArrayList<Class>(); classes.add(getRemoteInterface()); return classes; } else { throw new IllegalArgumentException("Cannot determine object interface for " + homeInterface); } }
public List<Class> getObjectInterface(final Class homeInterface) { if (BusinessLocalHome.class.isAssignableFrom(homeInterface)) { return getBusinessLocalInterfaces(); } else if (BusinessRemoteHome.class.isAssignableFrom(homeInterface)) { return getBusinessRemoteInterfaces(); } else if (EJBLocalHome.class.isAssignableFrom(homeInterface)) { final List<Class> classes = new ArrayList<Class>(); classes.add(getLocalInterface()); return classes; } else if (EJBHome.class.isAssignableFrom(homeInterface)) { final List<Class> classes = new ArrayList<Class>(); classes.add(getRemoteInterface()); return classes; } else { throw new IllegalArgumentException("Cannot determine object interface for " + homeInterface); } }
public static Method doResolveViewMethod(final Bean<?> component, final Method declaredMethod) { if (!(component instanceof CdiEjbBean)) { return declaredMethod; } final CdiEjbBean cdiEjbBean = (CdiEjbBean) component; final BeanContext beanContext = cdiEjbBean.getBeanContext(); for (final Class intface : beanContext.getBusinessLocalInterfaces()) { try { return intface.getMethod(declaredMethod.getName(), declaredMethod.getParameterTypes()); } catch (final NoSuchMethodException ignore) { // no-op } } for (final Class intface : beanContext.getBusinessRemoteInterfaces()) { try { return intface.getMethod(declaredMethod.getName(), declaredMethod.getParameterTypes()); } catch (final NoSuchMethodException ignore) { // no-op } } return null; }
private static String getType(final BeanContext bc) { boolean empty = true; final StringBuilder sb = new StringBuilder(); if (bc.isLocalbean()) { sb.append("LocalBean[").append(bc.getBeanClass()).append("]"); empty = false; } if (bc.getBusinessLocalInterface() != null) { if (!empty) { sb.append(", "); } sb.append("Local").append(Arrays.asList(bc.getBusinessLocalInterfaces())); empty = false; } if (bc.getBusinessRemoteInterface() != null) { if (!empty) { sb.append(", "); } sb.append("Remote").append(Arrays.asList(bc.getBusinessRemoteInterfaces())); } return sb.toString(); } }
private static String getType(final BeanContext bc) { boolean empty = true; final StringBuilder sb = new StringBuilder(); if (bc.isLocalbean()) { sb.append("LocalBean[").append(bc.getBeanClass()).append("]"); empty = false; } if (bc.getBusinessLocalInterface() != null) { if (!empty) { sb.append(", "); } sb.append("Local").append(Arrays.asList(bc.getBusinessLocalInterfaces())); empty = false; } if (bc.getBusinessRemoteInterface() != null) { if (!empty) { sb.append(", "); } sb.append("Remote").append(Arrays.asList(bc.getBusinessRemoteInterfaces())); } return sb.toString(); } }
public BusinessLocalHome getBusinessLocalHome(final Class mainInterface) { final List<Class> localInterfaces = this.getBusinessLocalInterfaces(); final List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(this.getBeanClass(), mainInterface, localInterfaces); return this.getBusinessLocalHome(interfaces, mainInterface); }
public BusinessLocalHome getBusinessLocalHome(final Class mainInterface) { final List<Class> localInterfaces = this.getBusinessLocalInterfaces(); final List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(this.getBeanClass(), mainInterface, localInterfaces); return this.getBusinessLocalHome(interfaces, mainInterface); }
public void initTypes() { if (beanContext.isLocalbean()) { addApiTypes(ejbTypes, beanContext.getBeanClass()); } if (beanContext.getProxyClass() != null) { addApiTypes(ejbTypes, beanContext.getProxyClass()); } final List<Class> cl = beanContext.getBusinessLocalInterfaces(); if (cl != null && !cl.isEmpty()) { for (final Class<?> c : cl) { ejbTypes.add(c); } } if (!ejbTypes.contains(Serializable.class)) { ejbTypes.add(Serializable.class); } ejbTypes.add(Object.class); }
public void initInternals() { final List<Class> classes = beanContext.getBusinessLocalInterfaces(); final boolean noLocalInterface = classes.isEmpty(); if (noLocalInterface && beanContext.isLocalbean()) { homeLocalBean = beanContext.getBusinessLocalBeanHome(); home = null; } else if (!noLocalInterface) { final Class<?> mainInterface = classes.get(0); final List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(beanContext.getBeanClass(), mainInterface, classes); home = beanContext.getBusinessLocalHome(interfaces, mainInterface); homeLocalBean = null; } // else remote }
final List<Class> cl = beanContext.getBusinessLocalInterfaces(); if (cl != null && !cl.isEmpty()) { final Map<Class<?>, Type> apis = new HashMap<>(cl.size());
public void initInternals() { final List<Class> classes = beanContext.getBusinessLocalInterfaces(); final boolean noLocalInterface = classes.isEmpty(); if (beanContext.getComponentType().isMessageDriven()) { homeLocalBean = null; home = null; remote = null; } else if (beanContext.isLocalbean() || (noLocalInterface && beanContext.getBusinessRemoteInterfaces().isEmpty() /*EJB2*/)) { homeLocalBean = beanContext.getBusinessLocalBeanHome(); home = null; remote = null; } else if (!noLocalInterface) { final Class<?> mainInterface = classes.get(0); final List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(beanContext.getBeanClass(), mainInterface, classes); interfaces.addAll(beanContext.getBusinessRemoteInterfaces()); home = beanContext.getBusinessLocalHome(interfaces, mainInterface); homeLocalBean = null; remote = null; } else { final Class<?> mainInterface = beanContext.getBusinessRemoteInterface(); final List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(beanContext.getBeanClass(), mainInterface, beanContext.getBusinessRemoteInterfaces()); remote = beanContext.getBusinessRemoteHome(interfaces, mainInterface); home = null; homeLocalBean = null; } }
@Override protected A getInstance(final CreationalContext<A> creationalContext) { final List<Class> classes = beanContext.getBusinessLocalInterfaces(); final CurrentCreationalContext currentCreationalContext = beanContext.get(CurrentCreationalContext.class); final CreationalContext existing = currentCreationalContext.get(); currentCreationalContext.set(creationalContext); try { if (classes.size() == 0 && beanContext.isLocalbean()) { final BeanContext.BusinessLocalBeanHome home = beanContext.getBusinessLocalBeanHome(); return (A) home.create(); } else { final Class<?> mainInterface = classes.get(0); final List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(beanContext.getBeanClass(), mainInterface, classes); final BeanContext.BusinessLocalHome home = beanContext.getBusinessLocalHome(interfaces, mainInterface); return (A) home.create(); } } finally { currentCreationalContext.set(existing); } } }
@Override protected A getInstance(final CreationalContext<A> creationalContext) { final List<Class> classes = beanContext.getBusinessLocalInterfaces(); final CurrentCreationalContext currentCreationalContext = beanContext.get(CurrentCreationalContext.class); final CreationalContext existing = currentCreationalContext.get(); currentCreationalContext.set(creationalContext); try { if (classes.size() == 0 && beanContext.isLocalbean()) { final BeanContext.BusinessLocalBeanHome home = beanContext.getBusinessLocalBeanHome(); return (A) home.create(); } else { final Class<?> mainInterface = classes.get(0); final List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(beanContext.getBeanClass(), mainInterface, classes); final BeanContext.BusinessLocalHome home = beanContext.getBusinessLocalHome(interfaces, mainInterface); return (A) home.create(); } } finally { currentCreationalContext.set(existing); } } }