geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Jencks (JIRA)" <>
Subject [jira] Updated: (GERONIMO-2383) Replace ENCConfigBuilder with a pluggable set of NamingBuilders
Date Sat, 09 Sep 2006 20:17:22 GMT
     [ ]

David Jencks updated GERONIMO-2383:

    Attachment: GERONIMO-2383-v2.patch

I think this is ready to commit.  Please vote.

Here's the idea: there's a lot of code changes, but the idea is pretty simple.

There's a new interface, NamingBuilder, with a bunch of phases like the ModuleBuilder interface.

- buildEnvironment.  The NamingBuilder can determine if it's needed and add to the modules
environment.  For instance, the openejb client ref builder can add openejb to an app client
if there are ejb refs (and openejb is deployed)

- initContext.  This one is a little fishy, but seems to be needed to track message-destinations.
 I don't have any other uses for it yet.

- buildNaming.  Here the naming builder actually extracts the xml it is interested in from
the specDD and the plan, constructs whatever it wants to put into jndi, and adds it to a map
that will be serialized and used to build the jndi context when the app starts up.

In addition, there are two registration methods, where the builder reports which spec and
plan qnames it intends to deal with.  The builder is responsible for extracting only these
elements itself, but the next class assures that well-behaved builders don't conflict.

So, there are lots and lots of these naming builders, for env entries, resource-refs, service-refs,
etc etc.  Generally the code in these is moved from ENCConfigBuilder, RefContext, and the
module builders or old module-specific ref builders.  There certainly aren't any new ideas
in these builders.

The other new class is NamingBuilderCollection which has a collection of NamingBuilders and
also implements NamingBuilder: when you call one of these methods it iterates through the
collection in the obvious way.  Also, it collects the qname sets from the builders and makes
sure they don't conflict.

I've attempted to remove the changes in the jta11/jpa issue.  There's a very high likelyhood
this patch won't apply cleanly because it involves a lot of file moves.

This code is going to be very amenable to code rot so please don't waste my time updating
for other changes and review and VOTE NOW.

> Replace ENCConfigBuilder with a pluggable set of NamingBuilders
> ---------------------------------------------------------------
>                 Key: GERONIMO-2383
>                 URL:
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>    Affects Versions: 1.2
>            Reporter: David Jencks
>         Assigned To: David Jencks
>             Fix For: 1.2
>         Attachments: GERONIMO-2383-openejb-v2.patch, GERONIMO-2383-v2.patch
> (Previously part of GERONIMO-2349)
> The ENCConfigBuilder is way too hardcoded into what it accepts and how. It won't let
you add things like a persistence-ref builder very easily.  We can replace it with a set of
NamingBuilders somewhat similar to NamespaceDrivenBuilders.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message