...
Code Block |
---|
BUILDING CHANGES LICENSE NOTICE README RELEASE_NOTES archetypes distribution - Maven archetypes for creating Tuscany project templates distribution - the code that defines and build Tuscany distributions features - Maven projects that collect together Tuscany features itest modules maven archetypes - Maven archetypes for creating Tuscany project integration tests templates maven-tuscany-plugin - ??? modules - the source code for the runtime and the SCA extensions pom.xmlsamples samples - project samples shadestesting itest - TBD - project integration tests compliance-tests - OASIS compliance tests pom.xml |
There is some related source code that's worth mentioning up front. Firstly the project Maven build relies on a set of Maven plugins that have been written specifically for Tuscany. They can also be found in the Tuscany subversion repository (http://svn.apache.org/repos/asf/tuscany/maven-plugins/trunk/) and are as follows:
...
The Tuscany extensibility framework exposes quite a few extension points, for example,(o.a.t.s = org.apache.tuscany)
Code Block |
---|
oorg.apache.atuscany.tsca.sassembly.corebuilder.FactoryExtensionPointBuilderExtensionPoint org.apache.tuscany.sca.assembly.builder.BindingBuilder - Holds factories that create in-memory models o.a.t.s.core.UtilityExtensionPoint - A bucket for extensions that don't fit anywhere else o.a.t.s.core.ModuleActivatorExtensionPoint - A Tuscany extension module can defined an activator o.a.t.s.core.invocation.ProxyFactoryExtensionPoint - ??? o.a.t.s.provider.ProviderFactoryExtensionPoint - Created runtime providers o.a.t.s.contribution.processor.ValidationSchemaExtensionPoint - Holds schema for XML model validation o.a.t.s.contribution.processor.StAXAttributeProcessorExtensionPoint - ??? o.a.t.s.contribution.processor.StAXArtifactProcessorExtensionPoint - Holds processors are translate between XML and Java o.a.t.s.contribution.processor.URLArtifactProcessorExtensionPoint - Holds processors that read contribution artifacts o.a.t.s.contribution.resolver.ModelResolverExtensionPoint - Holds resolvers that locates model items in contributions o.a.t.s.assembly.builder.BuilderExtensionPoint - ??? Do we still need this? o.a.t.s.definitions.xml.DefinitionsExtensionPoint - Identifies definitions file in extension modules o.a.t.s.contribution.scanner.ContributionScannerExtensionPoint - Holds scanners that process different contributions formats o.a.t.s.databinding.DataBindingExtensionPoint - Holds databindings o.a.t.s.databinding.jaxb.XMLAdapterExtensionPoint - ??? o.a.t.s.context.ContextFactoryExtensionPoint - ??? o.a.t.s.databinding.TransformerExtensionPoint - ??? o.a.t.s.runtime.RuntimeWireProcessorExtensionPoint - Holds processors that process endpoint and endpoint reference interceptor chains o.a.t.s.implementation.java.introspect.JavaClassVisitor - Holds visitors used to introspect Java classes o.a.t.s.context.PropertyValueFactory - ??? org.apache.tuscany.sca.assembly.builder.CompositeBuilder org.apache.tuscany.sca.assembly.builder.ContractBuilder org.apache.tuscany.sca.assembly.builder.ImplementationBuilder org.apache.tuscany.sca.core.FactoryExtensionPoint org.apache.tuscany.sca.assembly.AssemblyFactory org.apache.tuscany.sca.assembly.SCABindingFactory org.apache.tuscany.sca.binding.atom.AtomBindingFactory org.apache.tuscany.sca.binding.comet.CometBindingFactory org.apache.tuscany.sca.binding.corba.CorbaBindingFactory org.apache.tuscany.sca.binding.ejb.EJBBindingFactory org.apache.tuscany.sca.binding.http.HTTPBindingFactory org.apache.tuscany.sca.binding.jsonp.JSONPBindingFactory org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBindingFactory org.apache.tuscany.sca.binding.rest.operationselector.jaxrs.JAXRSOperationSelectorFactory org.apache.tuscany.sca.binding.rest.operationselector.rpc.RPCOperationSelectorFactory org.apache.tuscany.sca.binding.rest.RESTBindingFactory org.apache.tuscany.sca.binding.rest.wireformat.json.JSONWireFormatFactory org.apache.tuscany.sca.binding.rest.wireformat.xml.XMLWireFormatFactory org.apache.tuscany.sca.binding.rmi.RMIBindingFactory org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory org.apache.tuscany.sca.contribution.ContributionFactory org.apache.tuscany.sca.contribution.java.JavaImportExportFactory org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory org.apache.tuscany.sca.definitions.DefinitionsFactory org.apache.tuscany.sca.implementation.bpel.BPELFactory org.apache.tuscany.sca.implementation.java.JavaImplementationFactory org.apache.tuscany.sca.implementation.java.introspect.JavaClassVisitor org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor org.apache.tuscany.sca.implementation.jaxrs.JAXRSImplementationFactory org.apache.tuscany.sca.implementation.script.ScriptImplementationFactory org.apache.tuscany.sca.implementation.web.WebImplementationFactory org.apache.tuscany.sca.implementation.widget.WidgetImplementationFactory org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory org.apache.tuscany.sca.invocation.MessageFactory org.apache.tuscany.sca.node.configuration.NodeConfigurationFactory org.apache.tuscany.sca.policy.PolicyFactory org.apache.tuscany.sca.context.ContextFactoryExtensionPoint org.apache.tuscany.sca.context.ComponentContextFactory org.apache.tuscany.sca.context.PropertyValueFactory org.apache.tuscany.sca.context.RequestContextFactory org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessorExtensionPoint org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint org.apache.tuscany.sca.contribution.processor.ValidationSchema org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint org.apache.tuscany.sca.contribution.resolver.ModelResolver org.apache.tuscany.sca.contribution.scanner.ContributionScannerExtensionPoint org.apache.tuscany.sca.core.invocation.ProxyFactoryExtensionPoint org.apache.tuscany.sca.core.ModuleActivatorExtensionPoint org.apache.tuscany.sca.core.ModuleActivator org.apache.tuscany.sca.databinding.DataBindingExtensionPoint org.apache.tuscany.sca.databinding.DataBinding org.apache.tuscany.sca.databinding.jaxb.XMLAdapterExtensionPoint org.apache.tuscany.sca.databinding.TransformerExtensionPoint org.apache.tuscany.sca.databinding.PullTransformer org.apache.tuscany.sca.databinding.PushTransformer org.apache.tuscany.sca.definitions.xml.DefinitionsExtensionPoint org.apache.tuscany.sca.definitions.xml.Definitions org.apache.tuscany.sca.host.corba.CorbaHostExtensionPoint org.apache.tuscany.sca.host.http.ServletHostExtensionPoint org.apache.tuscany.sca.host.http.ServletHost org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint org.apache.tuscany.sca.provider.BindingProviderFactory org.apache.tuscany.sca.provider.ImplementationProviderFactory org.apache.tuscany.sca.provider.PolicyProviderFactory org.apache.tuscany.sca.provider.WireFormatProviderFactory org.apache.tuscany.sca.provider.OperationSelectorProviderFactory org.apache.tuscany.sca.runtime.DomainRegistryFactoryExtensionPoint org.apache.tuscany.sca.runtime.DomainRegistryFactory org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint org.apache.tuscany.sca.runtime.RuntimeWireProcessor org.apache.tuscany.sca.core.UtilityExtensionPoint org.apache.tuscany.sca.databinding.Mediator org.apache.tuscany.sca.databinding.SimpleTypeMapper org.apache.tuscany.sca.core.scope.ScopeRegistry org.apache.tuscany.sca.binding.sca.provider.SCABindingMapper org.apache.tuscany.sca.deployment.Deployer org.apache.tuscany.sca.interfacedef.FaultExceptionMapper org.apache.tuscany.sca.interfacedef.InterfaceContractMapper org.apache.tuscany.sca.monitor.MonitorFactory org.apache.tuscany.sca.runtime.CompositeActivator org.apache.tuscany.sca.runtime.EndpointReferenceBinder org.apache.tuscany.sca.runtime.EndpointSerializer org.apache.tuscany.sca.runtime.RuntimeProperties org.apache.tuscany.sca.work.WorkScheduler org.apache.tuscany.sca.node.NodeFactory org.apache.tuscany.sca.xsd.XSDFactory |
Extension points are usually used in groups. You have to populate the right extension points when implementing say an implementation or a binding extensions. The best way to get a grip on how this works is to look at existing extensions and see what they do. As an example, if you look at how the implementation.java extension registers an extension to read the <implemenation.java/> element from a composite file and turn it into an in-memory Java model you will see the following file:
...