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

Modified Files:
        env-lookups.xdt env-methods.xdt 
Log Message:
support for methods which return the component-interface added (XDT-1325)

Index: env-lookups.xdt
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/env/resources/env-lookups.xdt,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** env-lookups.xdt     9 Apr 2005 12:53:34 -0000       1.4
--- env-lookups.xdt     9 Apr 2005 15:44:03 -0000       1.5
***************
*** 13,22 ****
        <XDtEjbEnvEjbRef:forAllEjbRefMembers 
tagName="ejb.ejb-ref,ejb.ejb-external-ref">
         <XDtEjbEnvEjbRef:ifLocalEjbRef>
!          <XDtEjbEnvEjbRef:memberName/> = (<XDtEjbEnvEjbRef:type/>) 
namingCtx.lookup("java:comp/env/<XDtEjbEnvEjbRef:name/>");       
         </XDtEjbEnvEjbRef:ifLocalEjbRef>
         <XDtEjbEnvEjbRef:ifRemoteEjbRef>
           {
               Object obj = 
namingCtx.lookup("java:comp/env/<XDtEjbEnvEjbRef:name/>");
!              <XDtEjbEnvEjbRef:memberName/> = 
(<XDtEjbEnvEjbRef:type/>)javax.rmi.PortableRemoteObject.narrow(obj, 
<XDtEjbEnvEjbRef:type/>.class);       
           }
         </XDtEjbEnvEjbRef:ifRemoteEjbRef>
--- 13,22 ----
        <XDtEjbEnvEjbRef:forAllEjbRefMembers 
tagName="ejb.ejb-ref,ejb.ejb-external-ref">
         <XDtEjbEnvEjbRef:ifLocalEjbRef>
!          <XDtEjbEnvEjbRef:memberName/> = (<XDtEjbEnvEjbRef:homeInterface/>) 
namingCtx.lookup("java:comp/env/<XDtEjbEnvEjbRef:name/>");       
         </XDtEjbEnvEjbRef:ifLocalEjbRef>
         <XDtEjbEnvEjbRef:ifRemoteEjbRef>
           {
               Object obj = 
namingCtx.lookup("java:comp/env/<XDtEjbEnvEjbRef:name/>");
!              <XDtEjbEnvEjbRef:memberName/> = 
(<XDtEjbEnvEjbRef:homeInterface/>)javax.rmi.PortableRemoteObject.narrow(obj, 
<XDtEjbEnvEjbRef:homeInterface/>.class);       
           }
         </XDtEjbEnvEjbRef:ifRemoteEjbRef>

Index: env-methods.xdt
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/env/resources/env-methods.xdt,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** env-methods.xdt     9 Apr 2005 07:25:24 -0000       1.2
--- env-methods.xdt     9 Apr 2005 15:44:03 -0000       1.3
***************
*** 1,3 ****
!   <XDtEjbEnv:forAllMethodTags 
tagName="ejb.env-entry,ejb.resource-ref,ejb.resource-env-ref,ejb.destination-ref,ejb.ejb-service-ref,ejb.ejb-ref,ejb.ejb-external-ref">
     private  <XDtEjbEnv:memberType/> <XDtEjbEnv:memberName/>;
     <XDtEjbEnv:methodSignature/>
--- 1,3 ----
!   <XDtEjbEnv:forAllMethodTags 
tagName="ejb.env-entry,ejb.resource-ref,ejb.resource-env-ref,ejb.destination-ref,ejb.ejb-service-ref">
     private  <XDtEjbEnv:memberType/> <XDtEjbEnv:memberName/>;
     <XDtEjbEnv:methodSignature/>
***************
*** 6,7 ****
--- 6,52 ----
     }
    </XDtEjbEnv:forAllMethodTags>
+   
+   <XDtEjbEnvEjbRef:forAllEjbRefMethods 
tagName="ejb.ejb-ref,ejb.ejb-external-ref">
+    private  <XDtEjbEnvEjbRef:homeInterface/> <XDtEjbEnvEjbRef:memberName/>;
+    <XDtEjbEnvEjbRef:methodSignature/>
+    {
+     <XDtMethod:ifIsOfType type="<XDtEjbEnvEjbRef:componentInterface/>">
+     
+      <XDtEjbEnvEjbRef:ifRemoteEjbRef>     
+       try 
+       {
+      </XDtEjbEnvEjbRef:ifRemoteEjbRef>     
+      <XDtEjbEnvEjbRef:ifLocalEjbRef>     
+       <XDtMethod:ifDoesntThrowException 
exceptions="javax.ejb.CreateException">      
+       try 
+       {
+       </XDtMethod:ifDoesntThrowException>      
+      </XDtEjbEnvEjbRef:ifLocalEjbRef>     
+           return <XDtEjbEnvEjbRef:memberName/>.create();
+      <XDtMethod:ifDoesntThrowException 
exceptions="javax.ejb.CreateException">      
+       } 
+       catch(javax.ejb.CreateException e) 
+       {
+           throw new javax.ejb.EJBException("create failed", e);
+      </XDtMethod:ifDoesntThrowException>
+      <XDtEjbEnvEjbRef:ifRemoteEjbRef>     
+       } 
+       catch(java.rmi.RemoteException e) 
+       {
+           throw new javax.ejb.EJBException("create failed", e);
+       }
+      </XDtEjbEnvEjbRef:ifRemoteEjbRef>     
+      <XDtEjbEnvEjbRef:ifLocalEjbRef>     
+       <XDtMethod:ifDoesntThrowException 
exceptions="javax.ejb.CreateException">      
+       }
+       </XDtMethod:ifDoesntThrowException>      
+      </XDtEjbEnvEjbRef:ifLocalEjbRef>     
+      
+     </XDtMethod:ifIsOfType>
+     
+      <XDtMethod:ifIsNotOfType type="<XDtEjbEnvEjbRef:componentInterface/>">
+       return <XDtEjbEnvEjbRef:memberName/>;
+      </XDtMethod:ifIsNotOfType>
+    }
+   </XDtEjbEnvEjbRef:forAllEjbRefMethods>
+   
\ No newline at end of file



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