/** * write the ejb references (local or remote) to the DOM tree * * @param parentNode parent node for the DOM tree * @param refs the set of EjbReferenceDescriptor to write */ protected void writeEjbReferenceDescriptors(Node parentNode, Iterator refs) { if (refs==null || !refs.hasNext()) return; EjbReferenceNode subNode = new EjbReferenceNode(); // ejb-ref* Set localRefDescs = new HashSet(); for (;refs.hasNext();) { EjbReference ejbRef = (EjbReference) refs.next(); if (ejbRef.isLocal()) { localRefDescs.add(ejbRef); } else { subNode.writeDescriptor(parentNode, TagNames.EJB_REFERENCE, ejbRef); } } // ejb-local-ref* for (Iterator e=localRefDescs.iterator(); e.hasNext();) { EjbReference ejbRef = (EjbReference) e.next(); subNode.writeDescriptor(parentNode, TagNames.EJB_LOCAL_REFERENCE,ejbRef); } }
/** * writes all the runtime information for ejb references * * @param parent node to add the runtime xml info * @param the J2EE component containing ejb references */ public static void writeEjbReferences(Node parent, EjbReferenceContainer descriptor) { // ejb-ref* Iterator ejbRefs = descriptor.getEjbReferenceDescriptors().iterator(); if (ejbRefs.hasNext()) { EjbRefNode refNode = new EjbRefNode(); while (ejbRefs.hasNext()) { EjbReference ejbRef = (EjbReference) ejbRefs.next(); if (!ejbRef.isLocal()) { refNode.writeDescriptor(parent, RuntimeTagNames.EJB_REFERENCE, ejbRef ); } } } } }
/** * write the ejb references (local or remote) to the DOM tree * * @param parentNode parent node for the DOM tree * @param refs the set of EjbReferenceDescriptor to write */ protected void writeEjbReferenceDescriptors(Node parentNode, Iterator refs) { if (refs==null || !refs.hasNext()) return; EjbReferenceNode subNode = new EjbReferenceNode(); // ejb-ref* Set localRefDescs = new HashSet(); for (;refs.hasNext();) { EjbReference ejbRef = (EjbReference) refs.next(); if (ejbRef.isLocal()) { localRefDescs.add(ejbRef); } else { subNode.writeDescriptor(parentNode, TagNames.EJB_REFERENCE, ejbRef); } } // ejb-local-ref* for (Iterator e=localRefDescs.iterator(); e.hasNext();) { EjbReference ejbRef = (EjbReference) e.next(); subNode.writeDescriptor(parentNode, TagNames.EJB_LOCAL_REFERENCE,ejbRef); } }
/** * writes all the runtime information for ejb references * * @param parent node to add the runtime xml info * @param the J2EE component containing ejb references */ public static void writeEjbReferences(Node parent, EjbReferenceContainer descriptor) { // ejb-ref* Iterator ejbRefs = descriptor.getEjbReferenceDescriptors().iterator(); if (ejbRefs.hasNext()) { EjbRefNode refNode = new EjbRefNode(); while (ejbRefs.hasNext()) { EjbReference ejbRef = (EjbReference) ejbRefs.next(); if (!ejbRef.isLocal()) { refNode.writeDescriptor(parent, RuntimeTagNames.EJB_REFERENCE, ejbRef ); } } } } }
/** * Configures EJB resource reference for a web application, as * represented in a <code><ejb-ref></code> and * <code><ejb-local-ref></code>element in the * deployment descriptor. */ protected static void configureEjbReference(WebModule webModule, WebBundleDescriptor wmd) { for (EjbReference ejbDescriptor : wmd.getEjbReferenceDescriptors()) { if (ejbDescriptor.isLocal()) { configureContextLocalEjb(webModule, (EjbReferenceDescriptor) ejbDescriptor); } else { configureContextEjb(webModule, (EjbReferenceDescriptor) ejbDescriptor); } } }
/** * write the descriptor class to a DOM tree and return it * * @param parent node for the DOM tree * @param node name for the descriptor * @param the descriptor to write * @return the DOM tree top node */ public Node writeDescriptor(Node parent, String nodeName, EjbReference ejbRef) { Node ejbRefNode = appendChild(parent, nodeName); appendTextChild(ejbRefNode, RuntimeTagNames.EJB_REFERENCE_NAME, ejbRef.getName()); String jndiName = ejbRef.getJndiName(); EjbDescriptor ejbReferee = ejbRef.getEjbDescriptor(); // If this is an intra-app remote ejb dependency, write out the portable jndi name // of the target ejb. if( ejbReferee != null ) { if( !ejbRef.isLocal() && ejbRef.getType().equals(EjbSessionDescriptor.TYPE) ) { EjbSessionDescriptor sessionDesc = (EjbSessionDescriptor) ejbReferee; String intf = ejbRef.isEJB30ClientView() ? ejbRef.getEjbInterface() : ejbRef.getEjbHomeInterface(); jndiName = sessionDesc.getPortableJndiName(intf); } } appendTextChild(ejbRefNode, RuntimeTagNames.JNDI_NAME, jndiName); return ejbRefNode; }
/** * write the descriptor class to a DOM tree and return it * * @param parent node for the DOM tree * @param node name for the descriptor * @param the descriptor to write * @return the DOM tree top node */ public Node writeDescriptor(Node parent, String nodeName, EjbReference ejbRef) { Node ejbRefNode = appendChild(parent, nodeName); appendTextChild(ejbRefNode, RuntimeTagNames.EJB_REFERENCE_NAME, ejbRef.getName()); String jndiName = ejbRef.getJndiName(); EjbDescriptor ejbReferee = ejbRef.getEjbDescriptor(); // If this is an intra-app remote ejb dependency, write out the portable jndi name // of the target ejb. if( ejbReferee != null ) { if( !ejbRef.isLocal() && ejbRef.getType().equals(EjbSessionDescriptor.TYPE) ) { EjbSessionDescriptor sessionDesc = (EjbSessionDescriptor) ejbReferee; String intf = ejbRef.isEJB30ClientView() ? ejbRef.getEjbInterface() : ejbRef.getEjbHomeInterface(); jndiName = sessionDesc.getPortableJndiName(intf); } } appendTextChild(ejbRefNode, RuntimeTagNames.JNDI_NAME, jndiName); return ejbRefNode; }
if (!ejbRef.isLocal() || (ejbRef.isLocal() && ejbRef.getLinkName()==null)) { DOLUtils.getDefaultLogger().fine("Ref " + ejbRef.getName() + " is bound to Ejb with JNDI Name " + ejbRef.getJndiName()); if (getEjbDescriptors() != null) { if (ejbRef.isLocal()) { if( ejbRef.hasLookupName() ) { return; if (ejbRef.isLocal()) { DOLUtils.getDefaultLogger().severe("Unresolved <ejb-link>: "+linkName); throw new RuntimeException("Error: Unresolved <ejb-link>: "+linkName); Set<String> targetBusinessIntfs = ejbRef.isLocal() ? ejbReferee.getLocalBusinessClassNames() : ejbReferee.getRemoteBusinessClassNames(); "enterprise.deployment.backend.ejbRefTypeMismatch", new Object[] {ejbRef.getName() , intfClassName, ejbReferee.getName(), ( ejbRef.isLocal() ? "Local Business" : "Remote Business"), targetBusinessIntfs.toString()}); String targetHome = ejbRef.isLocal() ? ejbReferee.getLocalHomeClassName() : ejbReferee.getHomeClassName(); "enterprise.deployment.backend.ejbRefTypeMismatch", new Object[] {ejbRef.getName() , homeClassName, ejbReferee.getName(), ( ejbRef.isLocal() ?
if (!ejbRef.isLocal() || ejbRef.getLinkName()==null) { if (DOLUtils.getDefaultLogger().isLoggable(Level.FINE)) { DOLUtils.getDefaultLogger().fine("Ref " + ejbRef.getName() + " is bound to Ejb with JNDI Name " + ejbRef.getJndiName()); if (ejbRef.isLocal()) { if( ejbRef.hasLookupName() ) { return; if (ejbRef.isLocal()) { DOLUtils.getDefaultLogger().severe("Unresolved <ejb-link>: "+linkName); throw new RuntimeException("Error: Unresolved <ejb-link>: "+linkName); Set<String> targetBusinessIntfs = ejbRef.isLocal() ? ejbReferee.getLocalBusinessClassNames() : ejbReferee.getRemoteBusinessClassNames(); "enterprise.deployment.backend.ejbRefTypeMismatch", new Object[] {ejbRef.getName() , intfClassName, ejbReferee.getName(), ( ejbRef.isLocal() ? "Local Business" : "Remote Business"), targetBusinessIntfs.toString()}); String targetHome = ejbRef.isLocal() ? ejbReferee.getLocalHomeClassName() : ejbReferee.getHomeClassName(); "enterprise.deployment.backend.ejbRefTypeMismatch", new Object[] {ejbRef.getName() , homeClassName, ejbReferee.getName(), ( ejbRef.isLocal() ?
if (descriptor.isLocal()) { appendTextChild(ejbRefNode, TagNames.LOCAL_HOME, descriptor.getEjbHomeInterface()); appendTextChild(ejbRefNode, TagNames.LOCAL, descriptor.getEjbInterface());
if (descriptor.isLocal()) { appendTextChild(ejbRefNode, EjbTagNames.LOCAL_HOME, descriptor.getEjbHomeInterface()); appendTextChild(ejbRefNode, EjbTagNames.LOCAL, descriptor.getEjbInterface());