A wise old hermit known only as Vincent Harcq 
<[EMAIL PROTECTED]> once said:

> > However, I'm a bit puzzled by what's going on with the existing 
> > ejb-ref/ejb-external-ref stuff (if I'm going to add the 
> > bluestone bits as 
> > parameters to those, I figure it's a good idea to know what 
> > they're doing 
> > to start with!)  What exactly is the difference between those 
> > two anyway? 
> 
> ejb-ref is to reference a bean inside the ejb jar (possibly using a
> ejb-link)

Does that all work properly?  The template has
    <XDtEjbRef:forAllEjbRefs>
      <XDtClass:ifDoesntHaveClassTag tagName="ejb:ejb-ref" 
paramName="view-type">
         <ejb-ref>
            <ejb-ref-name><XDtEjb:ejbRefName/></ejb-ref-name>
            <ejb-ref-type><XDtEjb:beanType/></ejb-ref-type>
            <home><XDtEjbHome:homeInterface type="remote"/></home>
            <remote><XDtEjbIntf:componentInterface 
type="remote"/></remote>
            <ejb-link><XDtClass:classTagValue tagName="ejb:ejb-ref" 
paramName="ejb-name"/></ejb-link>
         </ejb-ref>
      </XDtClass:ifDoesntHaveClassTag>
    </XDtEjbRef:forAllEjbRefs>
but the XDtEjbRef:forAllEjbRefs appears to switch (i.e. set current class) 
to each of the classes at the other end of the reference; so won't the 
<XDtClass:ifDoesntHaveClassTag> and <XDtClass:classTagValue> be looking at 
the wrong class?  What if the target class doesn't have an ejb:ejb-ref 
tag?

> Ejb-external-ref is to reference a bean outside the ejb-jar
> 
> To be 100% right I should say between ear because it is possible to
> ejb-link to a ejb in another ejb jar of the same ear.

What does the ejb-link mean?  The DTD says "The ejb-link element is used 
in the ejb-ref element to specify that an EJB reference is linked to 
another enterprise bean in the ejb-jar file.", which isn't all that 
helpful.  Is it to help it set the target jndi name of the target when 
deploying?

> > And what's going on in that <ejb-ref> stuff in 
> > the DD (in ejb-body.j)?  
> > Part of the ejb-external-ref bit looks for parameters on 
> > ejb-ref tags!!?, 

What's this bit doing?  The template has
    <XDtClass:forAllClassTags tagName="ejb:ejb-external-ref">
      <XDtClass:ifDoesntHaveClassTag tagName="ejb:ejb-external-ref" 
paramName="view-type">
      ...
      </XDtClass:ifDoesntHaveClassTag>
      <XDtClass:ifHasClassTag tagName="ejb:ejb-ref" paramName="view-type">
Now, while <XDtEjbRef:forAllEjbRefs> appears to switch to the target 
classes, <XDtClass:forAllClassTags> certainly shouldn't.  So this appears 
to be checking for an ejb:ejb-ref tag in the same class as the 
ejb:ejb-external-ref - why should there be both?  Shouldn't all the 
necessary parameters be on the ejb:ejb-external-ref tag?


Andrew.

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to