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