Jean-Sebastien Delfino wrote:
Jean-Sebastien Delfino wrote:
Jean-Sebastien Delfino wrote:
Jean-Sebastien Delfino wrote:
- Started to create sample tasks showing how to bootstrap a subset of Tuscany to work with the various models [1], see ListDeployables.java, ListDependencies.java, ListComponents.java, and WireComponents.java.
...

The init() methods in the sample programs are there to help explore the various Tuscany bootstrap patterns required for these common tasks, candidate to become generic utility methods if people want that.


Looking at these init methods, a lot of the setup code is about setting up XML and document artifact processors, which we shouldn't have to write if all the necessary processors were correctly registered under META-INF/services.

I noticed that some of the base processors (CompositeProcessor, ComponentTypeProcessor, ConstrainingType etc) are missing from META-INF/services so I'm going to try to fix that and register them dynamically like all the other ones.

That should help simplify that setup code.


I've done a first pass through all the artifact processors and declared them under META-INF/services. I had to make minor changes or add the expected constructors to some of them to follow the pattern that was already in place to support lazy / automatic loading and initialization.

The following methods:
StAXArtifactProcessorExtensionPoint.getProcessor(modelClass)
StAXArtifactProcessorExtensionPoint.getProcessor(qname)
URLArtifactProcessorExtensionPoint.getProcess(modelClass)
URLArtifactProcessorExtensionPoint.getProcess(artifactType)
should now work for all artifact processors, hoping that I didn't miss any.

With these changes I was able to simplify the bootstrapping code, as it doesn't need to create all these artifact processors manually anymore.

It was a little tedious but I also went through most artifact processor unit test cases and was able to simplify their setup method as well.

I'll try to go through the remaining test cases and samples in the next day or two.
--
Jean-Sebastien

Reply via email to