O.K. I try to do that but it may be easier in the end to commit one massive delta and do a detailed write-up since many of the changes are interdependent. Sorry about having to commit massive changes but Telecom Italia sucks ;-)

Jim


On Jan 10, 2006, at 9:50 AM, Jean-Sebastien Delfino wrote:

Jim,

Ok we're going to hold off and wait for you to apply your patches on top of the contrib tree, it'll be easier for you that way. Can you please do this asap so that we can get started with the proper structure in the main tree?

Also, if it's not too complicated, could you please group your changes in separate patches instead of a single big patch covering everything? This will help all of us understand and catch up with the various changes.

If it's too hard to do it this way because too many changes have accumulated or because of some refactoring then just commit a big patch, but this should probably be the last big delta and in the future we'll have to check in smaller changes to allow for parallel development... I know that I'll have to adjust the way I work as well and commit small changes more often :)

Thanks...

Jim Marino wrote:

Hi Sorry about the delay in responding. Hopefully I'm not too late responding ;) If the Java runtime has not been committed to main, could we hold off until I apply a patch? As Sebastien mentioned, I commited a few changes over break. I'm on dial-up right now so it will be nearly impossible for me to patch until tomorrow night/ weds morning. Does that work for people?

Overview of some of the changes (I'll right more when I have more time) is as follows. Note I did this on a parallel track to TuscanyModuleComponentContextImpl (which can hopefully go away once all of the changes are made) so as not to break functionality.

1. Major refactoring of "contexts" so the hierarchy is improved and scope containers are now contexts (this simplifies the code a lot, I think). Start with "o.a.t.context.Context" to see.

2. Implementation of the "Russian Doll" idea for contexts (c.f. AggregateContext) where one context can be contained in another.

3. Implementation of the runtime bootstrap. See the unit tests and RuntimeContextImpl. The bootstrapping process should function in Tomcat (I still need to complete that) as well as alternative containers (e.g. Ecplise Equinoix, etc). It is also now possible to bootstrap the runtime without external resources or side files for easy unit testing.

4. Ability to dynamically register components/entrypoints/external services when a context is running

5. Added the notion of a "system module component" (which can contain other system module components) based on the russian doll metaphor. It is now possible to assemble system modules, expose entry points (e.g. a transaction manager) and have them used by end-user modules through an external service configured with a system binding (based on autowiring as described below)

6. Implemented system components, i.e. the ability to contribute "special" components that live inside the system module or one of its children and are exposed over a special binding (e.g. Transaction Manager)

7. Implemented autowiring for system components. Basically, you configure an external service with an required interface and the runtime will resolve the dependency to an entry point exposed over the system binding. Using this, we can have the runtime self- configure. This is also useful for having things such as the MonitorFactory, MessageFactory, etc. injected rather than passed around.

8. Refactored some of the non-critical builders to be system components which themselves can be configured

9 Started a strawman for entry points and external services based on the above system component work

10. Implementation of a recursive configuration and build process where the logical model is walked by the hierarchy of aggregate contexts. For example, a component is registered in a child context and the hierarchy parents are called to evaluate/complete/ build the logical model. Hopefully this will allow us to do overrides fairly easily. See the implementations of o.a.t.context.ConfigurationContext.

11. Added a POJO-based model for unit testing and programmatic registration of model objects.

12. I began working on a way to plug in alternative Proxy factories and allow third-party interceptor/handler additions.

There are some hacks I had to put in for the time being but they can be ironed out when I get back.

Jim



On Jan 5, 2006, at 2:40 PM, Jean-Sebastien Delfino wrote:


Jim,

Looks like you've been pretty busy coding over the break, could you please send a quick overview of the changes you made to bring everybody up to speed?

Thanks...

--Jean-Sebastien Delfino







--
Jean-Sebastien Delfino


Reply via email to