You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2011/03/06 10:10:55 UTC

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

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() {