summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/AnnotationProcessorExtensionPoint.java7
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultAnnotationProcessorExtensionPoint.java15
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java12
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java5
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java15
5 files changed, 44 insertions, 10 deletions
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
new file mode 100644
index 0000000000..c91f7faaea
--- /dev/null
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/AnnotationProcessorExtensionPoint.java
@@ -0,0 +1,7 @@
+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/DefaultAnnotationProcessorExtensionPoint.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultAnnotationProcessorExtensionPoint.java
new file mode 100644
index 0000000000..509e1f9f49
--- /dev/null
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultAnnotationProcessorExtensionPoint.java
@@ -0,0 +1,15 @@
+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/SpringContextStub.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java
index 3d8d4112f0..a49f9d05ad 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
@@ -45,15 +45,17 @@ public class SpringContextStub {
public SpringContextStub(RuntimeComponent component,
SpringImplementation implementation,
ProxyFactory proxyService,
- JavaPropertyValueObjectFactory propertyValueObjectFactory) {
+ JavaPropertyValueObjectFactory propertyValueObjectFactory,
+ boolean annotationSupport) {
- initTie(component, implementation, propertyValueObjectFactory);
+ initTie(component, implementation, propertyValueObjectFactory, annotationSupport);
}
private void initTie(RuntimeComponent component,
SpringImplementation implementation,
- JavaPropertyValueObjectFactory propertyValueObjectFactory) {
+ JavaPropertyValueObjectFactory propertyValueObjectFactory,
+ boolean annotationSupport) {
// TODO: what class loader to use?
ClassLoader cl = Thread.currentThread().getContextClassLoader();
@@ -65,8 +67,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});
- this.tie = tieConstructor.newInstance(stub, implementation.getResource());
+ Constructor<?> tieConstructor = tieClass.getConstructor(new Class<?>[]{stubClass, URL.class, boolean.class});
+ this.tie = tieConstructor.newInstance(stub, implementation.getResource(), annotationSupport);
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 e010f30776..e78dbe19b3 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
@@ -50,13 +50,14 @@ public class SpringImplementationProvider implements ImplementationProvider {
public SpringImplementationProvider(RuntimeComponent component,
SpringImplementation implementation,
ProxyFactory proxyService,
- JavaPropertyValueObjectFactory propertyValueObjectFactory) {
+ JavaPropertyValueObjectFactory propertyValueObjectFactory,
+ boolean annotationSupport) {
super();
this.implementation = implementation;
this.component = component;
this.propertyValueObjectFactory = propertyValueObjectFactory;
- springContext = new SpringContextStub(component, implementation, proxyService, propertyValueObjectFactory);
+ springContext = new SpringContextStub(component, implementation, proxyService, propertyValueObjectFactory, annotationSupport);
} // 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 b7deeb2eb5..5a487436c9 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,6 +38,8 @@ public class SpringImplementationProviderFactory implements ImplementationProvid
private ProxyFactory proxyFactory;
private JavaPropertyValueObjectFactory propertyFactory;
+ private AnnotationProcessorExtensionPoint annotationProcessor;
+ private boolean annotationSupport;
/**
* Simple constructor
@@ -47,8 +49,14 @@ public class SpringImplementationProviderFactory implements ImplementationProvid
super();
ProxyFactoryExtensionPoint proxyFactories = extensionPoints.getExtensionPoint(ProxyFactoryExtensionPoint.class);
- proxyFactory = new ExtensibleProxyFactory(proxyFactories);
-
+ proxyFactory = new ExtensibleProxyFactory(proxyFactories);
+
+ annotationProcessor = extensionPoints.getExtensionPoint(AnnotationProcessorExtensionPoint.class);
+ if (annotationProcessor == null) {
+ annotationProcessor = new DefaultAnnotationProcessorExtensionPoint();
+ }
+ annotationSupport = annotationProcessor.isAnnotationSupported();
+
// TODO: could the runtime have a default PropertyValueObjectFactory?
propertyFactory = new JavaPropertyValueObjectFactory(new MediatorImpl(extensionPoints));
}
@@ -65,7 +73,8 @@ public class SpringImplementationProviderFactory implements ImplementationProvid
return new SpringImplementationProvider(component,
implementation,
proxyFactory,
- propertyFactory);
+ propertyFactory,
+ annotationSupport);
}
/**