You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "David Jencks (JIRA)" <de...@geronimo.apache.org> on 2006/09/05 20:21:22 UTC

[jira] Created: (GERONIMO-2383) Replace ENCConfigBuilder with a pluggable set of NamingBuilders

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


(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

        

[jira] Commented: (GERONIMO-2383) Replace ENCConfigBuilder with a pluggable set of NamingBuilders

Posted by "Jeff Genender (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-2383?page=comments#action_12433879 ] 
            
Jeff Genender commented on GERONIMO-2383:
-----------------------------------------

+1.

> 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

        

[jira] Commented: (GERONIMO-2383) Replace ENCConfigBuilder with a pluggable set of NamingBuilders

Posted by "Gianny Damour (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-2383?page=comments#action_12433680 ] 
            
Gianny Damour commented on GERONIMO-2383:
-----------------------------------------

It seems that there is a small issue with the patch: AxisBuilder does not more implement ServiceReferenceBuilder; however, its GBeanInfo still declares this interface has been implemented. This causes a small problem when trying to load the axis-builder module. Anyway, simply need to remove it manually.

I still need to do some testings; thought, by reviewing the change sets, it seems to be a great refactoring. Althought, it seems that it is possible to have a successful deployment which is actually not successful (for instance if a NamingBuilder is wrongly stopped, then some naming elements may not be honored.).

> 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

        

[jira] Closed: (GERONIMO-2383) Replace ENCConfigBuilder with a pluggable set of NamingBuilders

Posted by "David Jencks (JIRA)" <de...@geronimo.apache.org>.
     [ http://issues.apache.org/jira/browse/GERONIMO-2383?page=all ]

David Jencks closed GERONIMO-2383.
----------------------------------


This doesn't seem to have caused major problems.

> 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

        

[jira] Updated: (GERONIMO-2383) Replace ENCConfigBuilder with a pluggable set of NamingBuilders

Posted by "David Jencks (JIRA)" <de...@geronimo.apache.org>.
     [ 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

        

[jira] Commented: (GERONIMO-2383) Replace ENCConfigBuilder with a pluggable set of NamingBuilders

Posted by "Gianny Damour (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-2383?page=comments#action_12433684 ] 
            
Gianny Damour commented on GERONIMO-2383:
-----------------------------------------

I have tested env-entry and resource-ref and this works as expected. +1 to apply it.

> 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

        

[jira] Commented: (GERONIMO-2383) Replace ENCConfigBuilder with a pluggable set of NamingBuilders

Posted by "Matt Hogstrom (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-2383?page=comments#action_12433993 ] 
            
Matt Hogstrom commented on GERONIMO-2383:
-----------------------------------------

+1  ... apply away

> 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

        

[jira] Commented: (GERONIMO-2383) Replace ENCConfigBuilder with a pluggable set of NamingBuilders

Posted by "David Jencks (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-2383?page=comments#action_12433713 ] 
            
David Jencks commented on GERONIMO-2383:
----------------------------------------

re gianni's comment:
Althought, it seems that it is possible to have a successful deployment which is actually not successful (for instance if a NamingBuilder is wrongly stopped, then some naming elements may not be honored.).

I'm aware of this, and think that we can add a set of required qnames to the NamingBuilderCollection.  Then we add e.g. all the j2ee 1.4 jndi elements to it.  The main work is writing a property editor or xml-attribute editor for a qname set.  I'm thinking of doing this after this patch is applied as a bug fix, but might get to it sooner.

> 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