/** * 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 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; }
/** * receives notiification of the value for a particular tag * * @param element the xml element * @param value it's associated value */ public void setElementValue(XMLElement element, String value) { if (RuntimeTagNames.EJB_REFERENCE_NAME.equals(element.getQName())) { Object parentDesc = getParentNode().getDescriptor(); if (parentDesc instanceof EjbReferenceContainer) { try { descriptor = ((EjbReferenceContainer) parentDesc).getEjbReference(value); DOLUtils.getDefaultLogger().finer("Applying ref runtime to " + descriptor); } catch (IllegalArgumentException iae) { DOLUtils.getDefaultLogger().warning(iae.getMessage()); } } if (descriptor==null) { DOLUtils.getDefaultLogger().log(Level.SEVERE, "enterprise.deployment.backend.addDescriptorFailure", new Object[]{"ejb-ref" , value }); } } else super.setElementValue(element, value); }
/** * writes all information common to all J2EE components * * @param parent xml node parent to add the info to * @param descriptor the descriptor */ public static void writeCommonComponentInfo(Node parent, Descriptor descriptor) { if (descriptor instanceof EjbReferenceContainer) { EjbRefNode.writeEjbReferences(parent, (EjbReferenceContainer) descriptor); } if (descriptor instanceof ResourceReferenceContainer) { ResourceRefNode.writeResourceReferences(parent, (ResourceReferenceContainer) descriptor); } if (descriptor instanceof ResourceEnvReferenceContainer) { ResourceEnvRefNode.writeResoureEnvReferences(parent, (ResourceEnvReferenceContainer) descriptor); } if( descriptor instanceof JndiNameEnvironment ) { ServiceRefNode.writeServiceReferences (parent, (JndiNameEnvironment) descriptor); } if (descriptor instanceof MessageDestinationReferenceContainer) { MessageDestinationRefNode.writeMessageDestinationReferences(parent, (MessageDestinationReferenceContainer) descriptor); } }
/** * 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; }
/** * receives notiification of the value for a particular tag * * @param element the xml element * @param value it's associated value */ public void setElementValue(XMLElement element, String value) { if (RuntimeTagNames.EJB_REFERENCE_NAME.equals(element.getQName())) { Object parentDesc = getParentNode().getDescriptor(); if (parentDesc instanceof EjbReferenceContainer) { try { descriptor = ((EjbReferenceContainer) parentDesc).getEjbReference(value); DOLUtils.getDefaultLogger().finer("Applying ref runtime to " + descriptor); } catch (IllegalArgumentException iae) { DOLUtils.getDefaultLogger().warning(iae.getMessage()); } } if (descriptor==null) { DOLUtils.getDefaultLogger().log(Level.SEVERE, "enterprise.deployment.backend.addDescriptorFailure", new Object[]{"ejb-ref" , value }); } } else super.setElementValue(element, value); }
/** * writes all information common to all J2EE components * * @param xml node parent to add the info to * @param the descriptor */ public static void writeCommonComponentInfo(Node parent, Descriptor descriptor) { if (descriptor instanceof EjbReferenceContainer) { EjbRefNode.writeEjbReferences(parent, (EjbReferenceContainer) descriptor); } if (descriptor instanceof ResourceReferenceContainer) { ResourceRefNode.writeResourceReferences(parent, (ResourceReferenceContainer) descriptor); } if (descriptor instanceof ResourceEnvReferenceContainer) { ResourceEnvRefNode.writeResoureEnvReferences(parent, (ResourceEnvReferenceContainer) descriptor); } if( descriptor instanceof JndiNameEnvironment ) { ServiceRefNode.writeServiceReferences (parent, (JndiNameEnvironment) descriptor); } if (descriptor instanceof MessageDestinationReferenceContainer) { MessageDestinationRefNode.writeMessageDestinationReferences(parent, (MessageDestinationReferenceContainer) descriptor); } }
/** * 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 ); } } } } }