I checked in a first cut of some of the model changes discussed in this thread in our sandbox under http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/sebastien/java/sca (this is an SVN copy of the whole sca tree, including the changes to the model and the corresponding changes in the rest of the runtime). Here's a summary of the changes:

- Cleanup of the code to facilitate code generation, eventually.
- A few renames, Aggregate to Composite, AggregatePart to Part, SimpleComponent to AtomicComponent, ComponentType to ComponentInfo, more in line with the current spec discussions and Jim's latest changes to the core runtime as well. - Changed the handling of the maps of Components, EntryPoints, ExternalServices, ConfiguredReferences, etc. now populated immediately as you add objects to the model so that loaders can retrieve these objects by name. - Adjusted some of the model classes to have both attributes from the physical model and attributes/relationships from the the logical model. - Moved the contextFactory field from ConfiguredReference and ConfiguredService to Component, EntryPoint, ExternalService (which are the actual objects managed by the Contexts).
- Simplified the logic in some of the initialize() and freeze() methods.

I am debating the usefulness of the freeze() methods, and would like to get thoughts from the other people in the group. What do people think about merging freeze and initialize()? or getting rid of this freeze capability altogether? I have not added Autowire to the model yet, I still need to get my head around Autowire before I do that.

Next, I'm planning to add Java5 annotations to the model interfaces to declare the mapping between the model classes and the corresponding XSD artifacts from sca-core.xsd. I also have a little more cleanup to do in some of the classes, but I think I've reached a stable enough point now with the rest of the runtime working with this model.

I had to catch up with changes in the main stream several times while I was working in that branch and had a real hard time merging and resolving conflicts... so if there is no objection, I would like to merge this code back into the main code stream soon, tomorrow ideally, before things get out of sync and I run into a nightmare of conflicts again... Could people take a look and see if this updated model looks reasonable before I do that? Thanks.

--
Jean-Sebastien

Reply via email to