Raymond, So, for extensions, I'm actually using the module activator extension mechanism to register processors. But for system processors, should we also use this mechanism ? Wouldn't this cause issues if we start adding dependencies to higher level components on low level components (e.gcontribution-impl requeire core-spi for ModuleActivator ? )
Thoughts ? On 4/11/07, Raymond Feng <[EMAIL PROTECTED]> wrote:
Hi, I think we should start to leverage the extensibility story (see the thread titled "The pluggability for Tuscany runtime extensions") instead of hard-coding all the processors into the SimpleRuntimeImpl. Thanks, Raymond ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <tuscany-commits@ws.apache.org> Sent: Wednesday, April 11, 2007 10:14 AM Subject: svn commit: r527581 - in /incubator/tuscany/java/sca/modules/host-embedded: pom.xml src/main/java/org/apache/tuscany/host/embedded/SimpleRuntimeImpl.java > Author: jsdelfino > Date: Wed Apr 11 10:14:43 2007 > New Revision: 527581 > > URL: http://svn.apache.org/viewvc?view=rev&rev=527581 > Log: > Added missing processors for Java and WSDL interfaces. > > Modified: > incubator/tuscany/java/sca/modules/host-embedded/pom.xml > > incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/SimpleRuntimeImpl.java > > Modified: incubator/tuscany/java/sca/modules/host-embedded/pom.xml > URL: > http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/pom.xml?view=diff&rev=527581&r1=527580&r2=527581 > ============================================================================== > --- incubator/tuscany/java/sca/modules/host-embedded/pom.xml (original) > +++ incubator/tuscany/java/sca/modules/host-embedded/pom.xml Wed Apr 11 > 10:14:43 2007 > @@ -43,6 +43,18 @@ > > <dependency> > <groupId>org.apache.tuscany.sca</groupId> > + <artifactId>tuscany-interface-java-xml</artifactId> > + <version>1.0-incubating-SNAPSHOT</version> > + </dependency> > + > + <dependency> > + <groupId>org.apache.tuscany.sca</groupId> > + <artifactId>tuscany-interface-wsdl-xml</artifactId> > + <version>1.0-incubating-SNAPSHOT</version> > + </dependency> > + > + <dependency> > + <groupId>org.apache.tuscany.sca</groupId> > <artifactId>tuscany-contribution-impl</artifactId> > <version>1.0-incubating-SNAPSHOT</version> > </dependency> > > Modified: > incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/SimpleRuntimeImpl.java > URL: > http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/SimpleRuntimeImpl.java?view=diff&rev=527581&r1=527580&r2=527581 > ============================================================================== > --- > incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/SimpleRuntimeImpl.java > (original) > +++ > incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/SimpleRuntimeImpl.java > Wed Apr 11 10:14:43 2007 > @@ -38,6 +38,9 @@ > import org.apache.tuscany.core.component.SimpleWorkContext; > import org.apache.tuscany.core.runtime.AbstractRuntime; > import org.apache.tuscany.host.runtime.InitializationException; > +import org.apache.tuscany.interfacedef.java.xml.JavaInterfaceProcessor; > +import org.apache.tuscany.interfacedef.wsdl.xml.WSDLDocumentProcessor; > +import org.apache.tuscany.interfacedef.wsdl.xml.WSDLInterfaceProcessor; > import > org.apache.tuscany.services.contribution.ContributionPackageProcessorRegistryImpl ; > import > org.apache.tuscany.services.contribution.ContributionRepositoryImpl; > import org.apache.tuscany.services.contribution.ContributionServiceImpl; > @@ -45,7 +48,6 @@ > import > org.apache.tuscany.services.contribution.processor.FolderContributionProcessor ; > import > org.apache.tuscany.services.contribution.processor.JarContributionProcessor ; > import org.apache.tuscany.services.contribution.util.FileHelper; > -import > org.apache.tuscany.services.spi.contribution.ArtifactResolverRegistry; > import > org.apache.tuscany.services.spi.contribution.ContributionPackageProcessorRegistry ; > import > org.apache.tuscany.services.spi.contribution.ContributionRepository; > import org.apache.tuscany.services.spi.contribution.ContributionService; > @@ -53,6 +55,7 @@ > import > org.apache.tuscany.services.spi.contribution.DefaultStAXArtifactProcessorRegistry ; > import > org.apache.tuscany.services.spi.contribution.DefaultURLArtifactProcessorRegistry ; > import > org.apache.tuscany.services.spi.contribution.StAXArtifactProcessorRegistry ; > +import > org.apache.tuscany.services.spi.contribution.URLArtifactProcessorRegistry; > import org.apache.tuscany.spi.Scope; > import org.apache.tuscany.spi.bootstrap.ExtensionPointRegistry; > import org.apache.tuscany.spi.component.AtomicComponent; > @@ -112,21 +115,21 @@ > public Component start() throws Exception { > ExtensionPointRegistry extensionRegistry = new > ExtensionPointRegistryImpl(); > ContributionRepository repository = new > ContributionRepositoryImpl("target"); > - DefaultStAXArtifactProcessorRegistry registry = new > DefaultStAXArtifactProcessorRegistry(); > - registry.addArtifactProcessor(new CompositeProcessor(registry)); > - registry.addArtifactProcessor(new > ComponentTypeProcessor(registry)); > - registry.addArtifactProcessor(new > ConstrainingTypeProcessor(registry)); > - > - > extensionRegistry.addExtensionPoint(StAXArtifactProcessorRegistry.class, > registry); > - > - DefaultURLArtifactProcessorRegistry artifactRegistry = new > DefaultURLArtifactProcessorRegistry(); > - CompositeDocumentProcessor compositeProcessor = new > CompositeDocumentProcessor(registry); > - ComponentTypeDocumentProcessor componentTypeProcessor = new > ComponentTypeDocumentProcessor(registry); > - ConstrainingTypeDocumentProcessor constrainingTypeProcessor = new > ConstrainingTypeDocumentProcessor(registry); > - > - artifactRegistry.addArtifactProcessor(compositeProcessor); > - artifactRegistry.addArtifactProcessor(componentTypeProcessor); > - artifactRegistry.addArtifactProcessor (constrainingTypeProcessor); > + > + DefaultStAXArtifactProcessorRegistry staxExtensionPoint = new > DefaultStAXArtifactProcessorRegistry(); > + staxExtensionPoint.addArtifactProcessor(new > CompositeProcessor(staxExtensionPoint)); > + staxExtensionPoint.addArtifactProcessor(new > ComponentTypeProcessor(staxExtensionPoint)); > + staxExtensionPoint.addArtifactProcessor(new > ConstrainingTypeProcessor(staxExtensionPoint)); > + staxExtensionPoint.addArtifactProcessor(new > JavaInterfaceProcessor()); > + staxExtensionPoint.addArtifactProcessor(new > WSDLInterfaceProcessor()); > + > extensionRegistry.addExtensionPoint(StAXArtifactProcessorRegistry.class, > staxExtensionPoint); > + > + DefaultURLArtifactProcessorRegistry documentExtensionPoint = new > DefaultURLArtifactProcessorRegistry(); > + documentExtensionPoint.addArtifactProcessor(new > CompositeDocumentProcessor(staxExtensionPoint)); > + documentExtensionPoint.addArtifactProcessor(new > ComponentTypeDocumentProcessor(staxExtensionPoint)); > + documentExtensionPoint.addArtifactProcessor(new > ConstrainingTypeDocumentProcessor(staxExtensionPoint)); > + documentExtensionPoint.addArtifactProcessor(new > WSDLDocumentProcessor()); > + > extensionRegistry.addExtensionPoint(URLArtifactProcessorRegistry.class, > documentExtensionPoint); > > PackageTypeDescriberImpl describer = new > PackageTypeDescriberImpl(); > ContributionPackageProcessorRegistry pkgRegistry = new > ContributionPackageProcessorRegistryImpl(describer); > @@ -136,7 +139,7 @@ > DefaultArtifactResolver artifactResolver = new > DefaultArtifactResolver(); > > ContributionService contributionService = > - new ContributionServiceImpl(repository, pkgRegistry, > artifactRegistry, artifactResolver); > + new ContributionServiceImpl(repository, pkgRegistry, > documentExtensionPoint, artifactResolver); > > extensionRegistry.addExtensionPoint(ContributionService.class, > contributionService); > initialize(extensionRegistry, contributionService); > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Luciano Resende http://people.apache.org/~lresende