1 23 24 package com.sun.enterprise.deployment.node; 25 26 import java.util.Map ; 27 import org.w3c.dom.Node ; 28 29 import com.sun.enterprise.deployment.Descriptor; 30 import com.sun.enterprise.deployment.ResourceReferenceDescriptor; 31 import com.sun.enterprise.deployment.InjectionTarget; 32 import com.sun.enterprise.deployment.xml.EjbTagNames; 33 import com.sun.enterprise.deployment.xml.TagNames; 34 35 41 public class ResourceRefNode extends DeploymentDescriptorNode { 42 43 public ResourceRefNode() { 44 super(); 45 registerElementHandler(new XMLElement(TagNames.INJECTION_TARGET), 46 InjectionTargetNode.class, "addInjectionTarget"); 47 } 48 54 protected Map getDispatchTable() { 55 Map table = super.getDispatchTable(); 57 table.put(EjbTagNames.RESOURCE_REFERENCE_NAME, "setName"); 58 table.put(EjbTagNames.RESOURCE_TYPE, "setType"); 59 table.put(EjbTagNames.RESOURCE_AUTHORIZATION, "setAuthorization"); 60 table.put(EjbTagNames.RESOURCE_SHARING_SCOPE, "setSharingScope"); 61 table.put(TagNames.MAPPED_NAME, "setMappedName"); 62 return table; 63 } 64 65 73 public Node writeDescriptor(Node parent, String nodeName, ResourceReferenceDescriptor descriptor) { 74 Node ejbResNode = appendChild(parent, nodeName); 75 writeLocalizedDescriptions(ejbResNode, descriptor); 76 77 appendTextChild(ejbResNode, EjbTagNames.RESOURCE_REFERENCE_NAME, descriptor.getName()); 78 appendTextChild(ejbResNode, EjbTagNames.RESOURCE_TYPE, descriptor.getType()); 79 appendTextChild(ejbResNode, EjbTagNames.RESOURCE_AUTHORIZATION, descriptor.getAuthorization()); 80 appendTextChild(ejbResNode, EjbTagNames.RESOURCE_SHARING_SCOPE, descriptor.getSharingScope()); 81 appendTextChild(ejbResNode, TagNames.MAPPED_NAME, descriptor.getMappedName()); 82 if( descriptor.isInjectable() ) { 83 InjectionTargetNode ijNode = new InjectionTargetNode(); 84 for (InjectionTarget target : descriptor.getInjectionTargets()) { 85 ijNode.writeDescriptor(ejbResNode, TagNames.INJECTION_TARGET, target); 86 } 87 } 88 89 return ejbResNode; 90 } 91 } 92 | Popular Tags |