Author: jboynes
Date: Thu Jul 20 10:55:23 2006
New Revision: 424004

URL: http://svn.apache.org/viewvc?rev=424004&view=rev
Log:
have all groovy components in the same deployment context share the same 
classloader

Modified:
    
incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java

Modified: 
incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java?rev=424004&r1=424003&r2=424004&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
 Thu Jul 20 10:55:23 2006
@@ -44,11 +44,16 @@
         String name = componentDefinition.getName();
         Scope scope = implementation.getComponentType().getLifecycleScope();
 
-        ClassLoader parentCL = deploymentContext.getClassLoader();
-        GroovyClassLoader loader = new GroovyClassLoader(parentCL);
+        // get the Groovy classloader for this deployment context
+        GroovyClassLoader groovyClassLoader = (GroovyClassLoader) 
deploymentContext.getExtension("groovy.classloader");
+        if (groovyClassLoader == null) {
+            groovyClassLoader = new 
GroovyClassLoader(deploymentContext.getClassLoader());
+            deploymentContext.putExtension("groovy.classloader", 
groovyClassLoader);
+        }
+
         Class<? extends GroovyObject> groovyClass;
         try {
-            groovyClass = loader.parseClass(script);
+            groovyClass = groovyClassLoader.parseClass(script);
         } catch (CompilationFailedException e) {
             BuilderConfigException bce = new BuilderConfigException(e);
             bce.setIdentifier(name);
@@ -57,7 +62,7 @@
 
         List<PropertyInjector> injectors = Collections.emptyList();
         // todo set up injectors
-        
+
         return new GroovyAtomicComponent(name,
                                          groovyClass,
                                          services,



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to