Update of /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/env
In directory 
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31694/modules/ejb/src/xdoclet/modules/ejb/env

Modified Files:
        EnvTagsHandler.java EnvEjbRefTagsHandler.java 
Log Message:
support for methods which return the component-interface added (XDT-1325)

Index: EnvTagsHandler.java
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/env/EnvTagsHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** EnvTagsHandler.java 6 Apr 2005 21:43:27 -0000       1.1
--- EnvTagsHandler.java 9 Apr 2005 15:44:02 -0000       1.2
***************
*** 10,16 ****
--- 10,18 ----
  import java.util.HashMap;
  import java.util.Iterator;
+ import java.util.List;
  import java.util.Map;
  import java.util.Properties;
  import java.util.StringTokenizer;
+ import xjavadoc.XClass;
  import xjavadoc.XField;
  import xjavadoc.XMember;
***************
*** 270,273 ****
--- 272,289 ----
          sb.append(method.getNameWithSignature(true));
  
+         List exceptions = method.getThrownExceptions();
+ 
+         if (exceptions.size() > 0) {
+             sb.append(" throws ");
+             for (Iterator it = exceptions.iterator(); it.hasNext(); ) {
+                 XClass exception = (XClass) it.next();
+ 
+                 sb.append(exception.getQualifiedName());
+                 if (it.hasNext()) {
+                     sb.append(", ");
+                 }
+             }
+         }
+ 
          return sb.toString();
      }

Index: EnvEjbRefTagsHandler.java
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/env/EnvEjbRefTagsHandler.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** EnvEjbRefTagsHandler.java   9 Apr 2005 08:21:58 -0000       1.3
--- EnvEjbRefTagsHandler.java   9 Apr 2005 15:44:02 -0000       1.4
***************
*** 19,22 ****
--- 19,23 ----
  import xdoclet.modules.ejb.XDocletModulesEjbMessages;
  import xdoclet.modules.ejb.home.HomeTagsHandler;
+ import xdoclet.modules.ejb.intf.InterfaceTagsHandler;
  import xdoclet.util.LogUtil;
  import xdoclet.util.Translator;
***************
*** 60,64 ****
  
      /**
!      * Evaluates the body block for each ejb reference. 
       *
       * @param template              The body of the block tag
--- 61,65 ----
  
      /**
!      * Evaluates the body block for each ejb reference.
       *
       * @param template              The body of the block tag
***************
*** 82,86 ****
  
      /**
!      * Evaluates the body block for each method- and field-level ejb 
reference. 
       *
       * @param template              The body of the block tag
--- 83,87 ----
  
      /**
!      * Evaluates the body block for each method- and field-level ejb 
reference.
       *
       * @param template              The body of the block tag
***************
*** 104,107 ****
--- 105,130 ----
  
      /**
+      * Evaluates the body block for each method-level ejb reference.
+      *
+      * @param template              The body of the block tag
+      * @param attributes            The attributes of the template tag
+      * @exception XDocletException
+      * @doc.tag                     type="block"
+      * @doc.param                   name="tagName" description="the ejb-ref 
tag" default="ejb.ejb-ref"
+      */
+     public void forAllEjbRefMethods(String template, Properties attributes) 
throws XDocletException
+     {
+         already.clear();
+ 
+         if (attributes.getProperty("tagName") == null) {
+             attributes.setProperty("tagName", "ejb.ejb-ref");
+         }
+ 
+         forTags(template, attributes, false, true, false);
+ 
+         already.clear();
+     }
+ 
+     /**
       * Returns the global JNDI name for the current EJB ref.
       *
***************
*** 176,179 ****
--- 199,255 ----
  
      /**
+      * Returns the home interface for the current ejb reference
+      *
+      * @return                   the fully qualified class name
+      * @throws XDocletException  if an error occures
+      * @doc.tag                  type="content"
+      */
+     public String homeInterface() throws XDocletException
+     {
+         String intf;
+ 
+         if ("ejb.ejb-external-ref".equals(currentTag.getName())) {
+             intf = currentTag.getAttributeValue("home");
+             if (intf == null) {
+                 mandatoryParamNotFound(currentTag.getDoc(), "home", 
"ejb.ejb-external-ref");
+             }
+         }
+         else {
+             String type = isRemoteEjbRef(currentTag) ? "remote" : "local";
+ 
+             intf = HomeTagsHandler.getHomeInterface(type, getCurrentClass());
+         }
+         return intf;
+     }
+ 
+     /**
+      * Returns the component interface for the current ejb reference
+      *
+      * @return                   the fully qualified class name
+      * @throws XDocletException  if an error occures
+      * @doc.tag                  type="content"
+      */
+     public String componentInterface() throws XDocletException
+     {
+         String intf;
+ 
+         if ("ejb.ejb-external-ref".equals(currentTag.getName())) {
+             intf = currentTag.getAttributeValue("business");
+             if (intf == null) {
+                 intf = currentTag.getAttributeValue("remote");
+             }
+             if (intf == null) {
+                 mandatoryParamNotFound(currentTag.getDoc(), "business", 
"ejb.ejb-external-ref");
+             }
+         }
+         else {
+             String type = isRemoteEjbRef(currentTag) ? "remote" : "local";
+ 
+             intf = InterfaceTagsHandler.getComponentInterface(type, 
getCurrentClass());
+         }
+         return intf;
+     }
+ 
+     /**
       * Return true if the ejb-ref is local
       *



-------------------------------------------------------
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