>So you have something like @bluestone:ejb-ref-map
>flag="co-located|distributed" blabla... for each ejb:ejb-ref? If so then
>I think you should change it and add bluestone-blabla parameters to
>ejb:ejb-ref instead, because there can be multiple ejb:ejb-ref tags in a
>class header and if you want to relate a @bluestone:ejb-ref-map to a
>ejb:ejb-ref user has to put bluestone:ejb-ref-map after ejb:ejb-ref and
>there's no template tag for this case and it's maybe a bit confusing for
>user too. For orion's query string I added a orion-query parameter to
>ejb:finder instead of creating a orion-finder and documented it that
>way.
Sounds good, I'll use some extra bluestone-whatever="..." parameters in
@ejb:ejb-ref (it's basically to set up their mappings from the ejb refs to
the actual components, so that makes sense). That's probably better than
relying on the user specifying an @bluestone:ejb-ref-map for each
@ejb:ejb-ref.
>Now regarding:
>>Or is it going to need custom tags to loop
>>through the locations, and loop through the references for the current
>>location?
>
>What's this location thing? A tag? Or?
No, it doesn't exist as a single field, it's a combination of things that
tell it where to do the lookup. That could either be running in the same
application ("co-located"), in which case I guess it'll use local call
optimizations, or (if "distributed") you have to specify the name server
host/port and advertised name to use, and I presume it looks up an IOR from
there. I'm only guessing, though, as I've never actually used Bluestone
(just working from the schema).
The complication is that the schema suggests these mappings should be
grouped into a section for each location i.e.
<co-located>
<ejb-ref-map
advertised-name="estore/account"
ejb-ref-name="ejb/account/Account"/>
</co-located>
<distributed application-name="app2" name-server-host="host2"
name-server-port="9000" >
<ejb-ref-map
advertised-name="estore/customer"
ejb-ref-name="ejb/customer/Customer"/>
<ejb-ref-map
advertised-name="estore/customerorders"
ejb-ref-name="ejb/customer/CustomerOrders"/>
</distributed>
<distributed application-name="app3" name-server-host="host3"
name-server-port="9000" >
<ejb-ref-map
advertised-name="estore/supplier"
ejb-ref-name="ejb/supplier/Supplier"/>
</distributed>
so what I'm trying to do is indeed
>For all locations
> For all ejb-refs of that location
> Blabla
Filtering out the co-located ones to handle them separately is easy enough,
it's grouping the distributed ones by app name+host+port that's the problem.
And, unfortunately, I guess using the match variable won't help (unless
paramName="appname+host+port" would work?)
>But anyway I really think you should write a custom tag instead of
>polluting the template with logic, just a simple forAllLocations and a
>forAllEjbRefsForLocation and use an internal struct to hold current
>location and ejb-ref.
That was the conclusion I was reaching, I just wondered if there was a way
using the existing tags that would save me having to code it myself.
>PS: Seems like HP Bluestone has one of those nasty deployment
>descriptors!
It's not too bad on the whole, it's just this bit that's tricky. And it's
always possible that it could cope if I did a separate <distributed> section
for each ejb-ref, even though I'd be duplicating its arguments. (Haven't yet
managed to find out if that's the case, though.)
>Don't try to make everything a @tag, many things are
>deployment-oriented, so provide merge-points, but create @tags for
>development-oriented ones.
I haven't got round to thinking much about merge points yet, but I was
planning to use something like ejb-body.j, where it looks for class tags if
there's no merge file (so settings for the development server can go in the
source, but be overrided by a merge file for deployment).
Andrew.
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com
_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel