[ http://issues.apache.org/jira/browse/GERONIMO-2383?page=all ]
David Jencks updated GERONIMO-2383:
-----------------------------------
Attachment: GERONIMO-2383-v2.patch
GERONIMO-2383-openejb-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: http://issues.apache.org/jira/browse/GERONIMO-2383
> 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:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira