Jean-Sebastien Delfino wrote:
I've committed a new sample [1] to help people understand how to extend
Tuscany 2.x with a new component implementation type.
The sample extends Tuscany with a fictitious component implementation
and shows how to:
- read/write SCDL and resolve WSDL and Java in an ArtifactProcessor;
- manage the lifecycle of a component in an ImplementationProvider;
- support both WSDL and Java interfaces;
- flow component invocations through Invokers and Proxies;
- represent data using Java and DOM data bindings;
- run components in a Junit test case.
I'm still working on it and will try to document these aspects in the
sample README. I'm also going to add a test case or two showing how to
code the construction of a SCDL in-memory model and run off of it.
I've improved the sample a bit and added code that shows how to:
1) create contribution and SCDL composite models programmatically;
2) register a ProviderFactory instance (as it may be more convenient
than having it loaded and instantiated by the runtime, if for example
you want to pass something to it);
3) bootstrap and run a Tuscany Node out of that.
For (3) I had to add a new NodeFactory.createNode() method taking a list
of pre-built contribution models, matching the existing NodeImpl(
NodeFactoryImpl manager, NodeConfiguration configuration, List<
Contribution> contributions) constructor.
Hope this helps.
[1]
http://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk/samples/implementation-extension/
--
Jean-Sebastien