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

Reply via email to