From 8d7bfe07035515556840fa330504f07c38b86267 Mon Sep 17 00:00:00 2001 From: ramkumar Date: Mon, 29 Jun 2009 07:07:33 +0000 Subject: Modified fixes for TUSCANY-3096 git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@789238 13f79535-47bb-0310-9956-ffa450edef68 --- .../AnnotationProcessorExtensionPoint.java | 7 ------ .../ConfigurationPropertiesExtensionPoint.java | 9 ++++++++ .../DefaultAnnotationProcessorExtensionPoint.java | 15 ------------ ...faultConfigurationPropertiesExtensionPoint.java | 27 ++++++++++++++++++++++ .../spring/invocation/SpringContextStub.java | 12 ++++++---- .../invocation/SpringImplementationProvider.java | 5 ++-- .../SpringImplementationProviderFactory.java | 15 +++++++----- 7 files changed, 55 insertions(+), 35 deletions(-) delete mode 100644 branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/AnnotationProcessorExtensionPoint.java create mode 100644 branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ConfigurationPropertiesExtensionPoint.java delete mode 100644 branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultAnnotationProcessorExtensionPoint.java create mode 100644 branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultConfigurationPropertiesExtensionPoint.java (limited to 'branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca') diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/AnnotationProcessorExtensionPoint.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/AnnotationProcessorExtensionPoint.java deleted file mode 100644 index c91f7faaea..0000000000 --- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/AnnotationProcessorExtensionPoint.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.apache.tuscany.sca.implementation.spring.invocation; - -public interface AnnotationProcessorExtensionPoint { - - boolean isAnnotationSupported(); - -} diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ConfigurationPropertiesExtensionPoint.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ConfigurationPropertiesExtensionPoint.java new file mode 100644 index 0000000000..0464355565 --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ConfigurationPropertiesExtensionPoint.java @@ -0,0 +1,9 @@ +package org.apache.tuscany.sca.implementation.spring.invocation; + +public interface ConfigurationPropertiesExtensionPoint { + + boolean isAnnotationSupported(); + + String getSupportedVersion(); + +} diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultAnnotationProcessorExtensionPoint.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultAnnotationProcessorExtensionPoint.java deleted file mode 100644 index 509e1f9f49..0000000000 --- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultAnnotationProcessorExtensionPoint.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.apache.tuscany.sca.implementation.spring.invocation; - -public class DefaultAnnotationProcessorExtensionPoint implements AnnotationProcessorExtensionPoint { - - // Contructor - public DefaultAnnotationProcessorExtensionPoint() { - - } - - // By default SCA annotations for implementation.spring - // will be supproted. - public boolean isAnnotationSupported() { - return true; - } -} diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultConfigurationPropertiesExtensionPoint.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultConfigurationPropertiesExtensionPoint.java new file mode 100644 index 0000000000..a0e7186eab --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultConfigurationPropertiesExtensionPoint.java @@ -0,0 +1,27 @@ +package org.apache.tuscany.sca.implementation.spring.invocation; + +public class DefaultConfigurationPropertiesExtensionPoint implements ConfigurationPropertiesExtensionPoint { + + // Contructor + public DefaultConfigurationPropertiesExtensionPoint() { + + } + + // By default SCA annotations for implementation.spring + // will be supproted. + public boolean isAnnotationSupported() { + return true; + } + + // By defauly all the Spring version are supported for + // Tuscany. + public String getSupportedVersion() { + + // Customize the code here for a limited version + // support + /* + return "2.5.5"; + */ + return "ANY"; + } +} diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java index a49f9d05ad..e8b398bd3a 100644 --- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java +++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java @@ -46,16 +46,18 @@ public class SpringContextStub { SpringImplementation implementation, ProxyFactory proxyService, JavaPropertyValueObjectFactory propertyValueObjectFactory, - boolean annotationSupport) { + boolean annotationSupport, + String versionSupported) { - initTie(component, implementation, propertyValueObjectFactory, annotationSupport); + initTie(component, implementation, propertyValueObjectFactory, annotationSupport, versionSupported); } private void initTie(RuntimeComponent component, SpringImplementation implementation, JavaPropertyValueObjectFactory propertyValueObjectFactory, - boolean annotationSupport) { + boolean annotationSupport, + String versionSupported) { // TODO: what class loader to use? ClassLoader cl = Thread.currentThread().getContextClassLoader(); @@ -67,8 +69,8 @@ public class SpringContextStub { Object stub = stubConstructor.newInstance(new SpringImplementationTie(implementation, component, propertyValueObjectFactory)); Class tieClass = Class.forName("org.apache.tuscany.sca.implementation.spring.runtime.context.SpringContextTie", true, cl); - Constructor tieConstructor = tieClass.getConstructor(new Class[]{stubClass, URL.class, boolean.class}); - this.tie = tieConstructor.newInstance(stub, implementation.getResource(), annotationSupport); + Constructor tieConstructor = tieClass.getConstructor(new Class[]{stubClass, URL.class, boolean.class, String.class}); + this.tie = tieConstructor.newInstance(stub, implementation.getResource(), annotationSupport, versionSupported); this.startMethod = tieClass.getMethod("start"); this.closeMethod = tieClass.getMethod("close"); diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java index e78dbe19b3..1fc01b2627 100644 --- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java +++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java @@ -51,13 +51,14 @@ public class SpringImplementationProvider implements ImplementationProvider { SpringImplementation implementation, ProxyFactory proxyService, JavaPropertyValueObjectFactory propertyValueObjectFactory, - boolean annotationSupport) { + boolean annotationSupport, + String versionSupported) { super(); this.implementation = implementation; this.component = component; this.propertyValueObjectFactory = propertyValueObjectFactory; - springContext = new SpringContextStub(component, implementation, proxyService, propertyValueObjectFactory, annotationSupport); + springContext = new SpringContextStub(component, implementation, proxyService, propertyValueObjectFactory, annotationSupport, versionSupported); } // end constructor diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java index 5a487436c9..4796aa0de9 100644 --- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java +++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java @@ -38,8 +38,9 @@ public class SpringImplementationProviderFactory implements ImplementationProvid private ProxyFactory proxyFactory; private JavaPropertyValueObjectFactory propertyFactory; - private AnnotationProcessorExtensionPoint annotationProcessor; + private ConfigurationPropertiesExtensionPoint configProperties; private boolean annotationSupport; + private String versionSupported; /** * Simple constructor @@ -51,11 +52,12 @@ public class SpringImplementationProviderFactory implements ImplementationProvid ProxyFactoryExtensionPoint proxyFactories = extensionPoints.getExtensionPoint(ProxyFactoryExtensionPoint.class); proxyFactory = new ExtensibleProxyFactory(proxyFactories); - annotationProcessor = extensionPoints.getExtensionPoint(AnnotationProcessorExtensionPoint.class); - if (annotationProcessor == null) { - annotationProcessor = new DefaultAnnotationProcessorExtensionPoint(); + configProperties = extensionPoints.getExtensionPoint(ConfigurationPropertiesExtensionPoint.class); + if (configProperties == null) { + configProperties = new DefaultConfigurationPropertiesExtensionPoint(); } - annotationSupport = annotationProcessor.isAnnotationSupported(); + annotationSupport = configProperties.isAnnotationSupported(); + versionSupported = configProperties.getSupportedVersion(); // TODO: could the runtime have a default PropertyValueObjectFactory? propertyFactory = new JavaPropertyValueObjectFactory(new MediatorImpl(extensionPoints)); @@ -74,7 +76,8 @@ public class SpringImplementationProviderFactory implements ImplementationProvid implementation, proxyFactory, propertyFactory, - annotationSupport); + annotationSupport, + versionSupported); } /** -- cgit v1.2.3