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