Converting 1.x dependenciesYou should configure the project pom.xml and
The following core modules are not ported yet :
The following modules are deprecated :
Generating OSGi ManifestConfigure pom to use Apache Felix maven-bundle-plugin <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <configuration> <instructions> <Bundle-Version>${tuscany.version}</Bundle-Version> <Bundle-SymbolicName>org.apache.tuscany.sca.binding.atom</Bundle-SymbolicName> <Bundle-Description>${pom.name}</Bundle-Description> <Export-Package>org.apache.tuscany.sca.binding.atom*</Export-Package> <Import-Package>org.apache.tuscany.sca.assembly.xml;version="2.0.0", *</Import-Package> </instructions> </configuration> </plugin> </plugins> </build> Generate the manifest mvn org.apache.felix:maven-bundle-plugin:manifest Copy the generated manifest from target folder to <module-root>/META_INF/manifest.mf Add manifest to source control git add META-INF or svn add META-INF Make any manual modifications as necessary Converting your extension modelYour extension model needs to provide a new getType method public interface JSONRPCBinding extends Binding { QName TYPE = new QName(SCA11_TUSCANY_NS, "binding.jsonrpc"); ... } public class JSONRPCBindingImpl implements JSONRPCBinding { private String name; private String uri; public QName getType() { return TYPE; } ... } Converting you runtime artifactsProvider Factory
public interface BindingProviderFactory<M extends Binding> extends ProviderFactory<M> { /** * Creates a new reference binding provider for the given endpoint reference * * @param endpointReference defines the component/reference/binding against which to create the provider * @return The binding provider */ ReferenceBindingProvider createReferenceBindingProvider(EndpointReference endpointReference); /** * Creates a new service binding provider for the given component and * service. * * @param endpoint defines the component/service/binding against which to create the provider * @return The binding provider */ ServiceBindingProvider createServiceBindingProvider(Endpoint endpoint); }
FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class); ReferenceBindingProvider and ServiceBindingProviderThe previous SCA Models that were previously passed directly to these SPIs, is now available via Endpoint and EndpointReference as described in the code below: public class AtomReferenceBindingProvider implements ReferenceBindingProvider { private RuntimeComponentReference reference; private AtomBinding binding; public AtomReferenceBindingProvider(EndpointReference endpointReference, AtomBinding binding) { this.reference = (RuntimeComponentReference) endpointReference.getReference(); this.binding = (AtomBinding) endpointReference.getBinding(); } ... } public class AtomServiceBindingProvider implements ServiceBindingProvider { private MessageFactory messageFactory; private Endpoint endpoint; private RuntimeComponent component; private RuntimeComponentService service; private InterfaceContract serviceContract; private AtomBinding binding; private ServletHost servletHost; ... public AtomServiceBindingProvider(Endpoint endpoint, MessageFactory messageFactory, ServletHost servletHost) { this.endpoint = endpoint; this.component = (RuntimeComponent)endpoint.getComponent(); this.service = (RuntimeComponentService)endpoint.getService(); this.binding = (AtomBinding) endpoint.getBinding(); this.messageFactory = messageFactory; this.servletHost = servletHost; } .... |