1 5 package xdoclet.modules.ibm.websphere.ejb; 6 7 import java.util.Collection ; 8 import java.util.Iterator ; 9 import java.util.Properties ; 10 import xjavadoc.XTag; 11 12 import xdoclet.XDocletException; 13 import xdoclet.modules.ejb.env.EnvTagsHandler; 14 15 22 public class WebSphereTagsHandler extends EnvTagsHandler 23 { 24 35 public void forAllResourceRefs(String template, Properties attributes) throws XDocletException 36 { 37 if (currentTag == null) { 38 throw new XDocletException("XDtWebSphere.forAllResourceRefs can only be used inside XDtWebSphere.forAllTags"); 39 } 40 41 String nameParam = attributes.getProperty("nameParam", "res-ref-name"); 42 String resRefName = currentTag.getAttributeValue(nameParam); 43 44 XTag wsResRef = null; 45 46 if (currentMember == null) { 47 Collection tags = getCurrentClass().getDoc().getTags("websphere:resource-ref", true); 49 50 for (Iterator i = tags.iterator(); i.hasNext(); ) { 51 XTag tag = (XTag) i.next(); 52 String attr = tag.getAttributeValue("res-ref-name"); 53 54 if (resRefName != null && !resRefName.equals(attr)) { 55 continue; 56 } 57 58 wsResRef = tag; 59 } 60 } 61 else { 62 wsResRef = currentMember.getDoc().getTag("websphere:resource-ref", true); 64 } 65 66 if (wsResRef != null) { 67 XTag oldCurrentTag = currentTag; 68 69 currentTag = wsResRef; 70 generate(template); 71 currentTag = oldCurrentTag; 72 } 73 } 74 } 75 | Popular Tags |