Author: lresende
Date: Fri Oct 10 11:03:53 2008
New Revision: 703540
URL: http://svn.apache.org/viewvc?rev=703540&view=rev
Log:
TUSCANY-2634 - Applying RAM's patch to make implementation.spring aware of
policies.
Modified:
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProcessor.java
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProvider.java
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProviderFactory.java
Modified:
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java?rev=703540&r1=703539&r2=703540&view=diff
==============================================================================
---
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java
(original)
+++
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java
Fri Oct 10 11:03:53 2008
@@ -29,6 +29,7 @@
import org.apache.tuscany.sca.assembly.Service;
import org.apache.tuscany.sca.assembly.impl.ImplementationImpl;
import org.apache.tuscany.sca.implementation.spring.xml.SpringBeanElement;
+import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple;
import org.springframework.core.io.Resource;
/**
@@ -46,7 +47,8 @@
// Mapping of Services to Beans
private Hashtable<String, SpringBeanElement> serviceMap;
// Mapping of property names to Java class
- private Hashtable<String, Class> propertyMap;
+ private Hashtable<String, Class> propertyMap;
+ private List<PolicyHandlerTuple> policyHandlerClassNames = null;
protected SpringImplementation() {
this.location = null;
@@ -146,4 +148,12 @@
public Class getPropertyClass(String propertyName) {
return propertyMap.get(propertyName);
} // end method getPropertyClass
+
+ public List<PolicyHandlerTuple> getPolicyHandlerClassNames() {
+ return policyHandlerClassNames;
+ }
+
+ public void setPolicyHandlerClassNames(List<PolicyHandlerTuple>
policyHandlerClassNames) {
+ this.policyHandlerClassNames = policyHandlerClassNames;
+ }
}
Modified:
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProcessor.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProcessor.java?rev=703540&r1=703539&r2=703540&view=diff
==============================================================================
---
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProcessor.java
(original)
+++
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProcessor.java
Fri Oct 10 11:03:53 2008
@@ -134,6 +134,9 @@
error("LocationAttributeMissing", reader);
//throw new ContributionReadException(MSG_LOCATION_MISSING);
}
+
+ // Read policies
+ policyProcessor.readPolicies(springImplementation, reader);
// Skip to end element
while (reader.hasNext()) {
Modified:
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProvider.java?rev=703540&r1=703539&r2=703540&view=diff
==============================================================================
---
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProvider.java
(original)
+++
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProvider.java
Fri Oct 10 11:03:53 2008
@@ -19,10 +19,13 @@
package org.apache.tuscany.sca.implementation.spring;
+import java.util.List;
+
import org.apache.tuscany.sca.core.invocation.ProxyFactory;
import
org.apache.tuscany.sca.implementation.java.injection.JavaPropertyValueObjectFactory;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.invocation.Invoker;
+import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple;
import org.apache.tuscany.sca.provider.ImplementationProvider;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
import org.apache.tuscany.sca.runtime.RuntimeComponentService;
@@ -38,6 +41,8 @@
// A Spring application context object
private AbstractApplicationContext springContext;
+
+ private SpringImplementation implementation;
/**
* Constructor for the provider - takes a component definition and a
Spring implementation
@@ -48,9 +53,13 @@
public SpringImplementationProvider(RuntimeComponent component,
SpringImplementation implementation,
ProxyFactory proxyService,
- JavaPropertyValueObjectFactory
propertyValueObjectFactory) {
+ JavaPropertyValueObjectFactory
propertyValueObjectFactory,
+ List<PolicyHandlerTuple>
policyHandlerClassNames) {
super();
+ this.implementation = implementation;
this.component = component;
+
this.implementation.setPolicyHandlerClassNames(policyHandlerClassNames);
+
SCAParentApplicationContext scaParentContext =
new SCAParentApplicationContext(component, implementation,
proxyService, propertyValueObjectFactory);
springContext = new SCAApplicationContext(scaParentContext,
implementation.getResource());
Modified:
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProviderFactory.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProviderFactory.java?rev=703540&r1=703539&r2=703540&view=diff
==============================================================================
---
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProviderFactory.java
(original)
+++
tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProviderFactory.java
Fri Oct 10 11:03:53 2008
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.sca.implementation.spring;
+import java.util.List;
+
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.invocation.ExtensibleProxyFactory;
import org.apache.tuscany.sca.core.invocation.ProxyFactory;
@@ -26,6 +28,8 @@
import org.apache.tuscany.sca.databinding.TransformerExtensionPoint;
import org.apache.tuscany.sca.databinding.impl.MediatorImpl;
import
org.apache.tuscany.sca.implementation.java.injection.JavaPropertyValueObjectFactory;
+import org.apache.tuscany.sca.policy.util.PolicyHandlerDefinitionsLoader;
+import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple;
import org.apache.tuscany.sca.provider.ImplementationProvider;
import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
@@ -39,6 +43,7 @@
private ProxyFactory proxyFactory;
private JavaPropertyValueObjectFactory propertyFactory;
+ private List<PolicyHandlerTuple> policyHandlerClassNames = null;
/**
* Simple constructor
@@ -55,6 +60,8 @@
TransformerExtensionPoint transformers =
extensionPoints.getExtensionPoint(TransformerExtensionPoint.class);
MediatorImpl mediator = new MediatorImpl(dataBindings, transformers);
propertyFactory = new JavaPropertyValueObjectFactory(mediator);
+
+ policyHandlerClassNames =
PolicyHandlerDefinitionsLoader.loadPolicyHandlerClassnames();
}
/**
@@ -66,7 +73,11 @@
*/
public ImplementationProvider
createImplementationProvider(RuntimeComponent component,
SpringImplementation implementation) {
- return new SpringImplementationProvider(component, implementation,
proxyFactory, propertyFactory);
+ return new SpringImplementationProvider(component,
+ implementation,
+ proxyFactory,
+ propertyFactory,
+ policyHandlerClassNames);
}
/**