Author: antelder
Date: Sun Mar  6 09:10:54 2011
New Revision: 1078430

URL: http://svn.apache.org/viewvc?rev=1078430&view=rev
Log:
Minor performance enhacement - look up all the factories once instead of each 
time

Modified:
    
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.java
    
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.java?rev=1078430&r1=1078429&r2=1078430&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.java
 Sun Mar  6 09:10:54 2011
@@ -19,10 +19,20 @@
 
 package org.apache.tuscany.sca.core.context;
 
+import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.context.ComponentContextFactory;
 import org.apache.tuscany.sca.context.CompositeContext;
+import org.apache.tuscany.sca.context.ContextFactoryExtensionPoint;
+import org.apache.tuscany.sca.context.PropertyValueFactory;
+import org.apache.tuscany.sca.context.RequestContextFactory;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.FactoryExtensionPoint;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
 import org.apache.tuscany.sca.core.context.impl.ComponentContextImpl;
+import org.apache.tuscany.sca.core.invocation.ExtensibleProxyFactory;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
+import org.apache.tuscany.sca.runtime.CompositeActivator;
+import org.apache.tuscany.sca.runtime.EndpointReferenceBinder;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
 import org.oasisopen.sca.ComponentContext;
 
@@ -31,13 +41,32 @@ import org.oasisopen.sca.ComponentContex
  */
 public class DefaultComponentContextFactory implements ComponentContextFactory 
{
     private final ExtensionPointRegistry registry;
+    private AssemblyFactory assemblyFactory;
+    private JavaInterfaceFactory javaInterfaceFactory;
+    private CompositeActivator compositeActivator;
+    private RequestContextFactory requestContextFactory;
+    private PropertyValueFactory propertyFactory;
+    private EndpointReferenceBinder eprBinder;
+    private ExtensibleProxyFactory proxyFactory;
 
     public DefaultComponentContextFactory(ExtensionPointRegistry registry) {
         this.registry = registry;
+        FactoryExtensionPoint factories = 
registry.getExtensionPoint(FactoryExtensionPoint.class);
+        UtilityExtensionPoint utilities = 
registry.getExtensionPoint(UtilityExtensionPoint.class);
+        this.assemblyFactory = factories.getFactory(AssemblyFactory.class);
+        this.javaInterfaceFactory = 
factories.getFactory(JavaInterfaceFactory.class);
+        this.compositeActivator = 
utilities.getUtility(CompositeActivator.class);
+        this.requestContextFactory =
+            
registry.getExtensionPoint(ContextFactoryExtensionPoint.class).getFactory(RequestContextFactory.class);
+        this.propertyFactory = 
factories.getFactory(PropertyValueFactory.class);
+        this.eprBinder = utilities.getUtility(EndpointReferenceBinder.class);
+        this.proxyFactory = ExtensibleProxyFactory.getInstance(registry);
     }
 
     public ComponentContext createComponentContext(CompositeContext 
compositeContext, RuntimeComponent component) {
-        return new ComponentContextImpl(registry, compositeContext, component);
+        return new ComponentContextImpl(registry, assemblyFactory, 
javaInterfaceFactory, compositeActivator,
+                                        requestContextFactory, 
propertyFactory, eprBinder, proxyFactory,
+                                        compositeContext, component);
     }
 
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java?rev=1078430&r1=1078429&r2=1078430&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java
 Sun Mar  6 09:10:54 2011
@@ -35,13 +35,9 @@ import org.apache.tuscany.sca.assembly.M
 import org.apache.tuscany.sca.assembly.SCABinding;
 import org.apache.tuscany.sca.assembly.Service;
 import org.apache.tuscany.sca.context.CompositeContext;
-import org.apache.tuscany.sca.context.ContextFactoryExtensionPoint;
 import org.apache.tuscany.sca.context.PropertyValueFactory;
 import org.apache.tuscany.sca.context.RequestContextFactory;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.core.invocation.ExtensibleProxyFactory;
 import org.apache.tuscany.sca.core.invocation.ProxyFactory;
 import org.apache.tuscany.sca.interfacedef.Interface;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
@@ -80,26 +76,25 @@ public class ComponentContextImpl implem
     private final ExtensionPointRegistry registry;
 
     public ComponentContextImpl(ExtensionPointRegistry registry,
+                                AssemblyFactory assemblyFactory,
+                                JavaInterfaceFactory javaInterfaceFactory,
+                                CompositeActivator compositeActivator,
+                                RequestContextFactory requestContextFactory,
+                                PropertyValueFactory propertyFactory,
+                                EndpointReferenceBinder eprBinder,
+                                ProxyFactory proxyFactory,
                                 CompositeContext compositeContext,
                                 RuntimeComponent component) {
-        this.component = component;
-        FactoryExtensionPoint factories = 
registry.getExtensionPoint(FactoryExtensionPoint.class);
-        this.assemblyFactory = factories.getFactory(AssemblyFactory.class);
-        this.javaInterfaceFactory = 
factories.getFactory(JavaInterfaceFactory.class);
-
-        UtilityExtensionPoint utilities = 
registry.getExtensionPoint(UtilityExtensionPoint.class);
-        this.compositeContext = compositeContext;
-
-        this.compositeActivator = 
utilities.getUtility(CompositeActivator.class);
-
-        this.requestContextFactory =
-            
registry.getExtensionPoint(ContextFactoryExtensionPoint.class).getFactory(RequestContextFactory.class);
-        this.proxyFactory = ExtensibleProxyFactory.getInstance(registry);
-        this.propertyFactory = 
factories.getFactory(PropertyValueFactory.class);
-
-        this.eprBinder = utilities.getUtility(EndpointReferenceBinder.class);
-
         this.registry = registry;
+        this.assemblyFactory = assemblyFactory;
+        this.javaInterfaceFactory = javaInterfaceFactory;
+        this.compositeActivator = compositeActivator;
+        this.requestContextFactory = requestContextFactory;
+        this.propertyFactory = propertyFactory;
+        this.eprBinder = eprBinder;
+        this.proxyFactory = proxyFactory;
+        this.compositeContext = compositeContext;
+        this.component = component;
     }
 
     public String getURI() {


Reply via email to