The script implementation has now been ported over to these new SPIs and all seems to be ok and the calculator-script sample works now. The new SPIs seem to me vastly better than what we had before. There's still some things I think could be done to make it even easier to write an implementation, in the script impl I've pulled out a few classes into a separate spi package for code I thought the script impl shouldn't need to code itself, and theres also a few TODO comments in the rest of the code. Code people take a look and comment on those classes and TODO comments to see if there's things we could improve?
...ant On 5/3/07, Raymond Feng <[EMAIL PROTECTED]> wrote:
Hi, We now get the java component and echo binding working with the extension interfaces. Please see the calculator and echo-binding sample. Thanks, Raymond ----- Original Message ----- From: "Raymond Feng" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Wednesday, May 02, 2007 9:24 AM Subject: Re: Interfaces for implementation/binding extensions to provide runtime behaviors > Hi, > > I have updated the interfaces for extension developers and you can find > them at > http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/core/ . > Hopefully the javdoc is good enough for you to understand. > > I also switched the CRUD implementation sample to this new set of > interfaces and you can play with the sample to see how the interfaces are > used. > http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/implementation-crud/ > > There are few other classes you might be interested to see how the runtime > works: > > org.apache.tuscany.host.embedded.impl.MiniRuntimeImpl: The mini runtime > that loads the contribution and add it to the SCA domain > org.apache.tuscany.core.runtime.RuntimeActivatorImpl: The base class that > bootstrap the runtime > org.apache.tuscany.core.runtime.DefaultCompositeActivator: The replacement > for DeployerImpl that activates a composite to the SCA domain > > All the changes was checked in under rev 534302. Please note I added the > new things without changing much of the existing code so both paths are > working at the moment. > > I'm porting the Java component type and EchoBinding sample over. They are > now half-way through. > > BTW, Ant, I didn't have the chance to split the createInterceptor into two > methods, maybe you can help. > > Please review and comment. > > Thanks, > Raymond > > ----- Original Message ----- > From: "ant elder" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Tuesday, May 01, 2007 3:22 AM > Subject: Re: Interfaces for implementation/binding extensions to provide > runtime behaviors > > >> On 4/27/07, Raymond Feng <[EMAIL PROTECTED]> wrote: >>> >>> Hi, >>> >>> I have checked in the first cut of interfaces for implementation/binding >>> extensions to provide runtime behaviors. ([1] & [2]). >>> >>> The Activator interfaces can be implemented to control the lifecycle of >>> components or reference/service bindings. >>> >>> The Provider interfaces can be implemented to create corresponding >>> interceptor and get the effective interface contract for the endpoint. I >>> was >>> thinking of naming them as XXXInvokerFactory but there are methods in >>> the >>> interfaces don't quite fit. >>> >>> When we add an implementation or binding type to Tuscany, the >>> implementation >>> class of the Implementation/Binding model interface can optionally >>> implement >>> these interfaces to provide the logic for the runtime to drive the >>> interactions from reference to service. >>> >>> Please review. >>> >>> Thanks, >>> Raymond >>> >>> [1] http://svn.apache.org/viewvc?view=rev&rev=533222 >>> [2] http://svn.apache.org/viewvc?view=rev&rev=533238 >> >> >> I'm having a bit of trouble understanding all this without seeing more >> code >> showing how these will be used, so comments may have to wait till the >> runtime uses them a bit more. >> >> One comment, how about the XxxProvider interfaces have a >> createCallbackInterceptor method instead of passing the boolean in on the >> createInterceptor method? >> >> ...ant >> > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
