Update of /cvsroot/xdoclet/xdoclet/modules/ibm/src/xdoclet/modules/ibm/websphere/ejb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9315/modules/ibm/src/xdoclet/modules/ibm/websphere/ejb
Modified Files: WebSphereEjbRefTagsHandler.java WebSphereTagsHandler.java Log Message: support for the new environment handling added (XDT-1333) Index: WebSphereEjbRefTagsHandler.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ibm/src/xdoclet/modules/ibm/websphere/ejb/WebSphereEjbRefTagsHandler.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** WebSphereEjbRefTagsHandler.java 4 Feb 2005 17:50:17 -0000 1.2 --- WebSphereEjbRefTagsHandler.java 9 Apr 2005 09:55:44 -0000 1.3 *************** *** 5,24 **** package xdoclet.modules.ibm.websphere.ejb; - import java.util.Collection; - import java.util.HashMap; - import java.util.Iterator; - import java.util.Properties; - - import org.apache.commons.logging.Log; import xjavadoc.XClass; ! import xjavadoc.XTag; import xdoclet.XDocletException; import xdoclet.modules.ejb.EjbTagsHandler; ! import xdoclet.modules.ejb.XDocletModulesEjbMessages; ! import xdoclet.modules.ejb.dd.EjbRefTagsHandler; import xdoclet.modules.ejb.home.HomeTagsHandler; - import xdoclet.util.LogUtil; - import xdoclet.util.Translator; - import xdoclet.util.TypeConversionUtil; /** --- 5,14 ---- package xdoclet.modules.ibm.websphere.ejb; import xjavadoc.XClass; ! import xdoclet.XDocletException; import xdoclet.modules.ejb.EjbTagsHandler; ! import xdoclet.modules.ejb.env.EnvEjbRefTagsHandler; import xdoclet.modules.ejb.home.HomeTagsHandler; /** *************** *** 28,32 **** * @version $Revision 1.1 $ */ ! public class WebSphereEjbRefTagsHandler extends EjbRefTagsHandler { --- 18,22 ---- * @version $Revision 1.1 $ */ ! public class WebSphereEjbRefTagsHandler extends EnvEjbRefTagsHandler { *************** *** 48,62 **** String ejbRefJndiName = null; ! String jndiNameParameter = getCurrentClassTag().getAttributeValue("jndi-name"); // Return the jndi-name on the ejb-ref-tag if any - // TODO: Can a ejb-ref-tag specify a jndi name or is this test irrelevant (copied from the baseclass)? if (jndiNameParameter != null) { ejbRefJndiName = jndiNameParameter; - - // Return the jndi-name on the ejb-bean depending on the view-type } else { ! String refed_ejb_name = getCurrentClassTag().getAttributeValue("ejb-name"); if (refed_ejb_name == null) { --- 38,50 ---- String ejbRefJndiName = null; ! String jndiNameParameter = currentTag.getAttributeValue("jndi-name"); // Return the jndi-name on the ejb-ref-tag if any if (jndiNameParameter != null) { ejbRefJndiName = jndiNameParameter; } + // Return the jndi-name on the ejb-bean depending on the view-type else { ! String refed_ejb_name = currentTag.getAttributeValue("ejb-name"); if (refed_ejb_name == null) { *************** *** 67,77 **** String ejb_type = null; ! // If the ejb-bean expose both remote and local itnerfaces we however always return the remote jndi-name since WebSphere only can handle ine jndi-name on a ejb-bean. ! if (isLocalEjb(getCurrentClass()) && isRemoteEjb(getCurrentClass())) { ejb_type = "remote"; } else { ! ejb_type = isLocalEjbRef(getCurrentClassTag()) ? "local" : "remote"; } --- 55,65 ---- String ejb_type = null; ! // If the ejb-bean expose both remote and local itnerfaces we however always return the remote jndi-name since WebSphere only can handle one jndi-name on a ejb-bean. ! if (EjbTagsHandler.isLocalEjb(getCurrentClass()) && EjbTagsHandler.isRemoteEjb(getCurrentClass())) { ejb_type = "remote"; } else { ! ejb_type = isLocalEjbRef(currentTag) ? "local" : "remote"; } Index: WebSphereTagsHandler.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ibm/src/xdoclet/modules/ibm/websphere/ejb/WebSphereTagsHandler.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** WebSphereTagsHandler.java 4 Jan 2005 09:36:03 -0000 1.2 --- WebSphereTagsHandler.java 9 Apr 2005 09:55:44 -0000 1.3 *************** *** 5,14 **** package xdoclet.modules.ibm.websphere.ejb; ! import java.util.*; ! ! import xjavadoc.*; import xdoclet.XDocletException; ! import xdoclet.tagshandler.ClassTagsHandler; /** --- 5,15 ---- package xdoclet.modules.ibm.websphere.ejb; ! import java.util.Collection; ! import java.util.Iterator; ! import java.util.Properties; ! import xjavadoc.XTag; import xdoclet.XDocletException; ! import xdoclet.modules.ejb.env.EnvTagsHandler; /** *************** *** 19,23 **** * @version $Revision$ */ ! public class WebSphereTagsHandler extends ClassTagsHandler { /** --- 20,24 ---- * @version $Revision$ */ ! public class WebSphereTagsHandler extends EnvTagsHandler { /** *************** *** 34,52 **** public void forAllResourceRefs(String template, Properties attributes) throws XDocletException { String nameParam = attributes.getProperty("nameParam", "res-ref-name"); ! String resRefName = getCurrentClassTag().getAttributeValue(nameParam); ! Collection tags = getCurrentClass().getDoc().getTags("websphere:resource-ref", true); ! for (Iterator i = tags.iterator(); i.hasNext(); ) { ! XTag tag = (XTag) i.next(); ! String attr = tag.getAttributeValue("res-ref-name"); ! if (resRefName != null && !resRefName.equals(attr)) { ! continue; } ! setCurrentClassTag(tag); generate(template); } } --- 35,73 ---- public void forAllResourceRefs(String template, Properties attributes) throws XDocletException { + if (currentTag == null) { + throw new XDocletException("XDtWebSphere.forAllResourceRefs can only be used inside XDtWebSphere.forAllTags"); + } + String nameParam = attributes.getProperty("nameParam", "res-ref-name"); ! String resRefName = currentTag.getAttributeValue(nameParam); ! ! XTag wsResRef = null; ! if (currentMember == null) { ! // class level ! Collection tags = getCurrentClass().getDoc().getTags("websphere:resource-ref", true); ! for (Iterator i = tags.iterator(); i.hasNext(); ) { ! XTag tag = (XTag) i.next(); ! String attr = tag.getAttributeValue("res-ref-name"); ! if (resRefName != null && !resRefName.equals(attr)) { ! continue; ! } ! ! wsResRef = tag; } + } + else { + // field- or method-level + wsResRef = currentMember.getDoc().getTag("websphere:resource-ref", true); + } + + if (wsResRef != null) { + XTag oldCurrentTag = currentTag; ! currentTag = wsResRef; generate(template); + currentTag = oldCurrentTag; } } ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ xdoclet-devel mailing list xdoclet-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xdoclet-devel