Author: antelder
Date: Tue Jun 28 07:02:58 2011
New Revision: 1140455
URL: http://svn.apache.org/viewvc?rev=1140455&view=rev
Log:
Add some guards around setting the contribution classloader
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java?rev=1140455&r1=1140454&r2=1140455&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
Tue Jun 28 07:02:58 2011
@@ -36,6 +36,7 @@ import org.apache.tuscany.sca.contributi
import
org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
import org.apache.tuscany.sca.contribution.resolver.ClassReference;
import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.deployment.Deployer;
import org.apache.tuscany.sca.monitor.Monitor;
@@ -106,8 +107,13 @@ public class DeployedComposite {
builtComposite.setURI(composite.getURI());
builtComposite.setContributionURI(composite.getContributionURI());
- if (contribution.getClassLoader() == null) {
-
contribution.setClassLoader((ClassLoader)((ExtensibleModelResolver)contribution.getModelResolver()).getModelResolverInstance(ClassReference.class));
+ // attempt to ensure the contribution classloader is set
+ // TODO: ideally the runtime would do this itself
+ if (contribution.getClassLoader() == null &&
contribution.getModelResolver() instanceof ExtensibleModelResolver) {
+ ModelResolver o =
((ExtensibleModelResolver)contribution.getModelResolver()).getModelResolverInstance(ClassReference.class);
+ if (o instanceof ClassLoader) {
+ contribution.setClassLoader((ClassLoader)o);
+ }
}
compositeContext = new CompositeContext(extensionPointRegistry,