You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/04/23 17:27:48 UTC

svn commit: r396284 [1/4] - in /incubator/tuscany/java/sca: bindings/binding.axis2/ bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/config/ bindings/bi...

Author: jmarino
Date: Sun Apr 23 08:27:42 2006
New Revision: 396284

URL: http://svn.apache.org/viewcvs?rev=396284&view=rev
Log:
extension point refactorings for context factory builders, policy builders; renaming of ProxyFactoryFactory to WireFactoryFactory; introduction of base abstract extension classes

Added:
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyOrderer.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/ExternalServiceContextFactory.java
      - copied, changed from r396081, incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/BaseExternalServiceContextFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/AnnotationProcessor.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/processor/
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/processor/AnnotationProcessorSupport.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/processor/ScopeProcessor.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/processor/ServiceInterfaceProcessor.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/extension/
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/extension/EntryPointBuilderSupport.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/extension/ExternalServiceBuilderSupport.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/extension/WireBuilderSupport.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/ProxyCreationException.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/WireException.java   (contents, props changed)
      - copied, changed from r396081, incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/ProxyException.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/WireFactoryFactory.java
      - copied, changed from r396081, incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/ProxyFactoryFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/WireFactoryInitException.java   (contents, props changed)
      - copied, changed from r396081, incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/ProxyInitializationException.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactory.java
      - copied, changed from r396081, incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKProxyFactoryFactory.java
    incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactoryTestCase.java
      - copied, changed from r396081, incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/wire/jdk/JDKProxyFactoryTestCase.java
Removed:
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/BaseExternalServiceContextFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/ProxyException.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/ProxyFactoryFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/ProxyInitializationException.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKProxyFactoryFactory.java
    incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/wire/jdk/JDKProxyFactoryTestCase.java
Modified:
    incubator/tuscany/java/sca/bindings/binding.axis2/pom.xml
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceWireBuilder.java
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/WebServiceEntryPointBuilder.java
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/config/ExternalWebServiceContextFactory.java
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceClient.java
    incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/builder/JSONRPCEntryPointConfigurationBuilder.java
    incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/handler/JSONRPCEntryPointServlet.java
    incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilder.java
    incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java
    incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java
    incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/ScopedJavaComponentInvoker.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilderTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/MockInterceptorBuilder.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingBuilder.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooExternalServiceContextFactory.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicModuleScopeTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicRequestScopeTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicSessionScopeTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicStatelessScopeTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/CompositeScopeTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/ModuleScopeLifecycleTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/RequestScopeLifecycleTestCase.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/SessionScopeLifecycleTestCase.java
    incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptContextFactoryBuilder.java
    incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptTargetWireBuilder.java
    incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptContextFactory.java
    incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/rhino/E4XAXIOMUtils.java
    incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/JSContextFactoryBuilderTestCase.java
    incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/MockInterceptorBuilder.java
    incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/integration/JSComponentContextTestCase.java
    incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/mock/MockAssemblyFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactoryBuilder.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyBuilder.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyBuilder.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyOrderer.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyBuilder.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyOrderer.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/WireBuilder.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointContextFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/HierarchicalBuilder.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/system/DefaultPolicyBuilderRegistry.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/system/PolicyBuilderRegistry.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ComponentTypeIntrospector.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/JavaIntrospectionHelper.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/Java5ComponentTypeIntrospector.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/ConfigurationContext.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AbstractCompositeContext.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/EntryPointContextImpl.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/injection/ContextObjectFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/injection/PojoObjectFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemContextFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemEntryPointContextFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemExternalServiceContextFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemObjectContextFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemCompositeContextImpl.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/InvocationConfiguration.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/InvocationException.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/InvocationRuntimeException.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/MessageChannel.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/MethodHashMap.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/WireConfiguration.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/WireFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/impl/NullWireFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWireFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKTargetWireFactory.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/DefaultWireFactoryService.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/WireFactoryService.java
    incubator/tuscany/java/sca/core/src/main/resources/system.module
    incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilderTestCase.java
    incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/builder/impl/NegativeDefaultWireBuilderTestCase.java
    incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/pom.xml
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/pom.xml?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/pom.xml (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/pom.xml Sun Apr 23 08:27:42 2006
@@ -131,7 +131,7 @@
         </dependency>
 
     </dependencies>
-    <!-- build>
+    <!-- buildSource>
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
@@ -147,5 +147,5 @@
             </plugin>
         </plugins>
 
-    </build -->
+    </buildSource -->
 </project>

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java Sun Apr 23 08:27:42 2006
@@ -16,14 +16,7 @@
  */
 package org.apache.tuscany.binding.axis2.builder;
 
-import java.lang.reflect.Method;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
-
 import commonj.sdo.helper.TypeHelper;
-
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.context.ConfigurationContext;
@@ -34,143 +27,40 @@
 import org.apache.tuscany.binding.axis2.handler.WebServicePortMetaData;
 import org.apache.tuscany.binding.axis2.util.TuscanyAxisConfigurator;
 import org.apache.tuscany.core.builder.BuilderConfigException;
-import org.apache.tuscany.core.builder.BuilderException;
-import org.apache.tuscany.core.builder.ContextFactoryBuilder;
-import org.apache.tuscany.core.builder.ContextFactoryBuilderRegistry;
-import org.apache.tuscany.core.config.JavaIntrospectionHelper;
-import org.apache.tuscany.core.context.QualifiedName;
+import org.apache.tuscany.core.builder.impl.ExternalServiceContextFactory;
+import org.apache.tuscany.core.extension.ExternalServiceBuilderSupport;
 import org.apache.tuscany.core.injection.SingletonObjectFactory;
-import org.apache.tuscany.core.message.MessageFactory;
-import org.apache.tuscany.core.system.annotation.Autowire;
-import org.apache.tuscany.core.wire.MethodHashMap;
-import org.apache.tuscany.core.wire.ProxyFactoryFactory;
-import org.apache.tuscany.core.wire.TargetInvocationConfiguration;
-import org.apache.tuscany.core.wire.TargetWireFactory;
-import org.apache.tuscany.core.wire.WireTargetConfiguration;
-import org.apache.tuscany.core.wire.impl.InvokerInterceptor;
-import org.apache.tuscany.model.assembly.AssemblyObject;
-import org.apache.tuscany.model.assembly.ConfiguredService;
+import org.apache.tuscany.model.assembly.Binding;
 import org.apache.tuscany.model.assembly.ExternalService;
-import org.apache.tuscany.model.assembly.Service;
-import org.apache.tuscany.model.assembly.ServiceContract;
-import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Scope;
 
+import javax.xml.namespace.QName;
+
 
 /**
- * Creates a <code>ContextFactoryBuilder</code> for an external service configured
- * with the {@link WebServiceBinding}
- * 
+ * Creates a <code>ContextFactory</code> for an external service configured with the {@link WebServiceBinding}
+ *
  * @version $Rev$ $Date$
  */
 @Scope("MODULE")
-public class ExternalWebServiceBuilder implements ContextFactoryBuilder {
-    private ContextFactoryBuilderRegistry builderRegistry;
-
-    private ProxyFactoryFactory proxyFactoryFactory;
-
-    private MessageFactory messageFactory;
-
-    private ContextFactoryBuilder policyBuilder;
+public class ExternalWebServiceBuilder extends ExternalServiceBuilderSupport {
 
-    public ExternalWebServiceBuilder() {
+    protected boolean handlesBindingType(Binding binding) {
+        return binding instanceof WebServiceBinding;
     }
 
-    @Init(eager = true)
-    public void init() {
-        builderRegistry.register(this);
-    }
-
-    @Autowire
-    public void setBuilderRegistry(ContextFactoryBuilderRegistry builderRegistry) {
-        this.builderRegistry = builderRegistry;
-    }
-
-    /**
-     * Sets the factory used to construct proxies implmementing the business interface required by a reference
-     */
-    @Autowire
-    public void setProxyFactoryFactory(ProxyFactoryFactory factory) {
-        this.proxyFactoryFactory = factory;
-    }
-
-    /**
-     * Sets the factory used to construct wire messages
-     * 
-     * @param msgFactory
-     */
-    @Autowire
-    public void setMessageFactory(MessageFactory msgFactory) {
-        this.messageFactory = msgFactory;
-    }
-
-    /**
-     * Sets a builder responsible for creating source-side and target-side wire chains for a
-     * reference. The reference builder may be hierarchical, containing other child reference 
-     * builders thatoperate on specific metadata used to construct and wire chain.
-     * 
-     * @see org.apache.tuscany.core.builder.impl.HierarchicalBuilder
-     */
-    public void setPolicyBuilder(ContextFactoryBuilder builder) {
-        policyBuilder = builder;
-    }
-
-    public void build(AssemblyObject object) throws BuilderException {
-        if (!(object instanceof ExternalService)) {
-            return;
-        }
-        ExternalService externalService = (ExternalService) object;
-        if (externalService.getBindings().size() < 1
-            || !(externalService.getBindings().get(0) instanceof WebServiceBinding)) {
-            return;
-        }
+    protected ExternalServiceContextFactory createExternalServiceContextFactory(ExternalService externalService) {
 
         ExternalWebServiceClient externalWebServiceClient = createExternalWebServiceClient(externalService);
 
-        ExternalWebServiceContextFactory config
-            = new ExternalWebServiceContextFactory(externalService.getName(),
+        return new ExternalWebServiceContextFactory(externalService.getName(),
                 new SingletonObjectFactory<ExternalWebServiceClient>(externalWebServiceClient));
-
-        ConfiguredService configuredService = externalService.getConfiguredService();
-        Service service = configuredService.getPort();
-        ServiceContract serviceContract = service.getServiceContract();
-        Map<Method, TargetInvocationConfiguration> iConfigMap
-            = new MethodHashMap<TargetInvocationConfiguration>();
-        TargetWireFactory proxyFactory = proxyFactoryFactory.createTargetWireFactory();
-        Set<Method> javaMethods = JavaIntrospectionHelper.getAllUniqueMethods(serviceContract.getInterface());
-        for (Method method : javaMethods) {
-            TargetInvocationConfiguration iConfig = new TargetInvocationConfiguration(method);
-            iConfigMap.put(method, iConfig);
-        }
-        QualifiedName qName = new QualifiedName(externalService.getName()
-                                                + QualifiedName.NAME_SEPARATOR
-                                                + service.getName());
-        WireTargetConfiguration wireConfiguration = new WireTargetConfiguration(qName,
-                                                                                iConfigMap,
-                                                                                serviceContract
-                                                                                    .getInterface()
-                                                                                    .getClassLoader(),
-                                                                                messageFactory);
-        proxyFactory.setBusinessInterface(serviceContract.getInterface());
-        proxyFactory.setConfiguration(wireConfiguration);
-        config.addTargetProxyFactory(service.getName(), proxyFactory);
-        configuredService.setProxyFactory(proxyFactory);
-        if (policyBuilder != null) {
-            // invoke the reference builder to handle additional policy metadata
-            policyBuilder.build(configuredService);
-        }
-        // add tail interceptor
-        for (TargetInvocationConfiguration iConfig : iConfigMap.values()) {
-            iConfig.addInterceptor(new InvokerInterceptor());
-        }
-
-        externalService.setContextFactory(config);
     }
 
     /**
      * Create an ExternalWebServiceClient for the WebServiceBinding
      */
-    protected ExternalWebServiceClient createExternalWebServiceClient(ExternalService externalService) {
+    private ExternalWebServiceClient createExternalWebServiceClient(ExternalService externalService) {
         // TODO: Review should there be a single global Axis ConfigurationContext
         TuscanyAxisConfigurator tuscanyAxisConfigurator = new TuscanyAxisConfigurator(null, null);
         ConfigurationContext configurationContext = tuscanyAxisConfigurator.getConfigurationContext();
@@ -178,18 +68,18 @@
         WebServiceBinding wsBinding = (WebServiceBinding) externalService.getBindings().get(0);
 
         WebServicePortMetaData wsPortMetaData = new WebServicePortMetaData(wsBinding.getWSDLDefinition(),
-                                                                           wsBinding.getWSDLPort(),
-                                                                           wsBinding.getURI(),
-                                                                           false);
+                wsBinding.getWSDLPort(),
+                wsBinding.getURI(),
+                false);
         QName serviceQName = wsPortMetaData.getServiceName();
         String portName = wsPortMetaData.getPortName().getLocalPart();
 
         AxisService axisService;
         try {
             axisService = AxisService.createClientSideAxisService(wsBinding.getWSDLDefinition(),
-                                                                  serviceQName,
-                                                                  portName,
-                                                                  new Options());
+                    serviceQName,
+                    portName,
+                    new Options());
         } catch (AxisFault e) {
             BuilderConfigException bce = new BuilderConfigException("AxisFault creating external service", e);
             bce.addContextName(externalService.getName());
@@ -197,7 +87,6 @@
         }
 
         TypeHelper typeHelper = externalService.getComposite().getAssemblyContext().getTypeHelper();
-
         return new ExternalWebServiceClient(configurationContext, axisService, wsPortMetaData, typeHelper);
     }
 

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceWireBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceWireBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceWireBuilder.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceWireBuilder.java Sun Apr 23 08:27:42 2006
@@ -18,73 +18,22 @@
 
 import org.apache.tuscany.binding.axis2.config.ExternalWebServiceContextFactory;
 import org.apache.tuscany.binding.axis2.handler.ExternalWebServiceTargetInvoker;
-import org.apache.tuscany.core.builder.BuilderConfigException;
-import org.apache.tuscany.core.builder.WireBuilder;
+import org.apache.tuscany.core.context.QualifiedName;
 import org.apache.tuscany.core.context.ScopeContext;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.system.annotation.Autowire;
-import org.apache.tuscany.core.wire.InvocationConfiguration;
-import org.apache.tuscany.core.wire.SourceWireFactory;
-import org.apache.tuscany.core.wire.TargetWireFactory;
-import org.osoa.sca.annotations.Init;
+import org.apache.tuscany.core.extension.WireBuilderSupport;
+import org.apache.tuscany.core.wire.TargetInvoker;
 import org.osoa.sca.annotations.Scope;
 
-@Scope("MODULE")
-public class ExternalWebServiceWireBuilder implements WireBuilder {
-
-    private RuntimeContext runtimeContext;
-
-    /**
-     * Constructs a new ExternalWebServiceWireBuilder.
-     */
-    public ExternalWebServiceWireBuilder() {
-        super();
-    }
-
-    @Autowire
-    public void setRuntimeContext(RuntimeContext context) {
-        runtimeContext = context;
-    }
-
-    @SuppressWarnings("deprecation")
-    @Init(eager = true)
-    public void init() {
-        runtimeContext.addBuilder(this);
-    }
+import java.lang.reflect.Method;
 
-    public void connect(SourceWireFactory<?> sourceFactory,
-                        TargetWireFactory<?> targetFactory,
-                        Class targetType, boolean downScope,
-                        ScopeContext targetScopeContext) throws BuilderConfigException {
-        
-        if (!(ExternalWebServiceContextFactory.class.isAssignableFrom(targetType))) {
-            return;
-        }
-        for (InvocationConfiguration sourceInvocationConfig
-            : sourceFactory.getConfiguration().getInvocationConfigurations().values()) {
-            
-            ExternalWebServiceTargetInvoker invoker
-                = new ExternalWebServiceTargetInvoker(sourceFactory.getConfiguration().getTargetName(),
-                                                      sourceInvocationConfig.getMethod(),
-                                                      targetScopeContext);
-            
-            // if (downScope) {
-            // // the source scope is shorter than the target, so the invoker can cache the target instance
-            // invoker.setCacheable(true);
-            // } else {
-            // invoker.setCacheable(false);
-            // }
-            sourceInvocationConfig.setTargetInvoker(invoker);
-        }
+@Scope("MODULE")
+public class ExternalWebServiceWireBuilder extends WireBuilderSupport {
 
+    protected boolean handlesTargetType(Class targetType) {
+        return ExternalWebServiceContextFactory.class.isAssignableFrom(targetType);
     }
 
-    public void completeTargetChain(TargetWireFactory<?> targetFactory,
-                                    Class targetType,
-                                    ScopeContext targetScopeContext)
-        throws BuilderConfigException {
-        
-        //TODO implement
+    protected TargetInvoker createInvoker(QualifiedName targetName, Method operation, ScopeContext context, boolean downScope) {
+        return new ExternalWebServiceTargetInvoker(targetName, operation, context);
     }
-
 }

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/WebServiceEntryPointBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/WebServiceEntryPointBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/WebServiceEntryPointBuilder.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/WebServiceEntryPointBuilder.java Sun Apr 23 08:27:42 2006
@@ -16,163 +16,30 @@
  */
 package org.apache.tuscany.binding.axis2.builder;
 
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.tuscany.binding.axis2.assembly.WebServiceBinding;
-import org.apache.tuscany.core.builder.BuilderException;
-import org.apache.tuscany.core.builder.ContextFactoryBuilder;
-import org.apache.tuscany.core.builder.ContextFactoryBuilderRegistry;
+import org.apache.tuscany.binding.axis2.config.WebServiceEntryPointContextFactory;
 import org.apache.tuscany.core.builder.impl.EntryPointContextFactory;
-import org.apache.tuscany.core.config.JavaIntrospectionHelper;
-import org.apache.tuscany.core.context.QualifiedName;
-import org.apache.tuscany.core.message.Message;
+import org.apache.tuscany.core.extension.EntryPointBuilderSupport;
 import org.apache.tuscany.core.message.MessageFactory;
-import org.apache.tuscany.core.system.annotation.Autowire;
-import org.apache.tuscany.core.wire.Interceptor;
-import org.apache.tuscany.core.wire.InvocationRuntimeException;
-import org.apache.tuscany.core.wire.ProxyFactoryFactory;
-import org.apache.tuscany.core.wire.SourceInvocationConfiguration;
-import org.apache.tuscany.core.wire.SourceWireFactory;
-import org.apache.tuscany.core.wire.TargetInvoker;
-import org.apache.tuscany.core.wire.WireSourceConfiguration;
-import org.apache.tuscany.model.assembly.AssemblyObject;
-import org.apache.tuscany.model.assembly.ConfiguredService;
+import org.apache.tuscany.model.assembly.Binding;
 import org.apache.tuscany.model.assembly.EntryPoint;
-import org.apache.tuscany.model.assembly.Service;
-import org.apache.tuscany.model.assembly.ServiceContract;
-
-import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Scope;
 
 
 /**
- * Creates a <code>ContextFactoryBuilder</code> for an entry point configured
- * with the {@link WebServiceBinding}
- * 
+ * Creates a <code>ContextFactory</code> for an entry point configured with the {@link WebServiceBinding}
+ *
  * @version $Rev$ $Date$
  */
 @Scope("MODULE")
-public class WebServiceEntryPointBuilder implements ContextFactoryBuilder {
-    private ContextFactoryBuilderRegistry builderRegistry;
-
-    private ProxyFactoryFactory proxyFactoryFactory;
-
-    private MessageFactory messageFactory;
-
-    private ContextFactoryBuilder policyBuilder;
-
-    public WebServiceEntryPointBuilder() {
-    }
-
-    @Init(eager = true)
-    public void init() {
-        builderRegistry.register(this);
-    }
-
-    @Autowire
-    public void setBuilderRegistry(ContextFactoryBuilderRegistry builderRegistry) {
-        this.builderRegistry = builderRegistry;
-    }
+public class WebServiceEntryPointBuilder extends EntryPointBuilderSupport {
 
-    /**
-     * Sets the factory used to construct proxies implmementing the business interface required by a reference
-     */
-    @Autowire
-    public void setProxyFactoryFactory(ProxyFactoryFactory factory) {
-        this.proxyFactoryFactory = factory;
+    protected boolean handlesBindingType(Binding binding) {
+        return binding instanceof WebServiceBinding;
     }
 
-    /**
-     * Sets the factory used to construct wire messages
-     * 
-     * @param msgFactory
-     */
-    @Autowire
-    public void setMessageFactory(MessageFactory msgFactory) {
-        this.messageFactory = msgFactory;
+    protected EntryPointContextFactory createEntryPointContextFactory(EntryPoint entryPoint, MessageFactory msgFactory) {
+        return new WebServiceEntryPointContextFactory(entryPoint.getName(),messageFactory);
     }
-
-    /**
-     * Sets a builder responsible for creating source-side and target-side wire chains for a reference. The
-     * reference builder may be hierarchical, containing other child reference builders that 
-     * operate on specific metadata used to construct and wire chain.
-     * 
-     * @see org.apache.tuscany.core.builder.impl.HierarchicalBuilder
-     */
-    public void setPolicyBuilder(ContextFactoryBuilder builder) {
-        policyBuilder = builder;
-    }
-
-    public void build(AssemblyObject object) throws BuilderException {
-        if (!(object instanceof EntryPoint)) {
-            return;
-        }
-        EntryPoint entryPoint = (EntryPoint) object;
-        if (entryPoint.getBindings().size() < 1
-            || !(entryPoint.getBindings().get(0) instanceof WebServiceBinding)) {
-            return;
-        }
-
-        EntryPointContextFactory config = new EntryPointContextFactory(entryPoint.getName(), messageFactory);
-
-        ConfiguredService configuredService = entryPoint.getConfiguredService();
-        Service service = configuredService.getPort();
-        ServiceContract serviceContract = service.getServiceContract();
-        Map<Method, SourceInvocationConfiguration> iConfigMap
-            = new HashMap<Method, SourceInvocationConfiguration>();
-        SourceWireFactory proxyFactory = proxyFactoryFactory.createSourceWireFactory();
-        Set<Method> javaMethods = JavaIntrospectionHelper.getAllUniqueMethods(serviceContract.getInterface());
-        for (Method method : javaMethods) {
-            SourceInvocationConfiguration iConfig = new SourceInvocationConfiguration(method);
-            iConfigMap.put(method, iConfig);
-        }
-        QualifiedName qName = new QualifiedName(entryPoint.getConfiguredReference()
-                                                    .getTargetConfiguredServices().get(0)
-                                                    .getPart().getName()
-                                                + '/' + service.getName());
-        WireSourceConfiguration wireConfiguration
-            = new WireSourceConfiguration(qName,
-                                          iConfigMap,
-                                          serviceContract.getInterface().getClassLoader(),
-                                          messageFactory);
-        proxyFactory.setBusinessInterface(serviceContract.getInterface());
-        proxyFactory.setConfiguration(wireConfiguration);
-        config.addSourceProxyFactory(service.getName(), proxyFactory);
-        configuredService.setProxyFactory(proxyFactory);
-        if (policyBuilder != null) {
-            // invoke the reference builder to handle additional policy metadata
-            policyBuilder.build(configuredService);
-        }
-        // add tail interceptor
-        //for (TargetInvocationConfiguration iConfig : iConfigMap.values()) {
-        //    iConfig.addInterceptor(new EntryPointInvokerInterceptor());
-        //}
-        entryPoint.setContextFactory(config);
-    }
-    
-    //FIXME same as the InvokerInterceptor except that it doesn't throw an exception in setNext
-    // For some reason another InvokerInterceptor is added after this one, need Jim to look into it
-    // and figure out why.
-    public static class EntryPointInvokerInterceptor implements Interceptor {
-        
-        public EntryPointInvokerInterceptor() {
-        }
-
-        public Message invoke(Message msg) throws InvocationRuntimeException {
-            TargetInvoker invoker = msg.getTargetInvoker();
-            if (invoker == null) {
-                throw new InvocationRuntimeException("No target invoker specified on message");
-            }
-            return invoker.invoke(msg);
-        }
-
-        public void setNext(Interceptor next) {
-        }
-
-    }
-
 
 }

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/config/ExternalWebServiceContextFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/config/ExternalWebServiceContextFactory.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/config/ExternalWebServiceContextFactory.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/config/ExternalWebServiceContextFactory.java Sun Apr 23 08:27:42 2006
@@ -17,7 +17,7 @@
 package org.apache.tuscany.binding.axis2.config;
 
 import org.apache.tuscany.core.builder.ObjectFactory;
-import org.apache.tuscany.core.builder.impl.BaseExternalServiceContextFactory;
+import org.apache.tuscany.core.builder.impl.ExternalServiceContextFactory;
 
 /**
  * Creates instances of {@link org.apache.tuscany.core.context.ExternalServiceContext}
@@ -27,7 +27,7 @@
  * 
  * @version $Rev$ $Date$
  */
-public class ExternalWebServiceContextFactory extends BaseExternalServiceContextFactory {
+public class ExternalWebServiceContextFactory extends ExternalServiceContextFactory {
 
     public ExternalWebServiceContextFactory(String name, ObjectFactory objectFactory) {
         super(name, objectFactory);

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceClient.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceClient.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceClient.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceClient.java Sun Apr 23 08:27:42 2006
@@ -100,7 +100,7 @@
 
     /**
      * Set all the Axis2 options needed for the wire TODO: review whats needed 
-     * here once createClientSideAxisService is added to the Axis2 build
+     * here once createClientSideAxisService is added to the Axis2 buildSource
      */
     private void setServiceOptions(ServiceClient serviceClient, String operationName) {
         Options options = new Options();

Modified: incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/builder/JSONRPCEntryPointConfigurationBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/builder/JSONRPCEntryPointConfigurationBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/builder/JSONRPCEntryPointConfigurationBuilder.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/builder/JSONRPCEntryPointConfigurationBuilder.java Sun Apr 23 08:27:42 2006
@@ -27,7 +27,7 @@
 import org.apache.tuscany.core.context.QualifiedName;
 import org.apache.tuscany.core.message.MessageFactory;
 import org.apache.tuscany.core.system.annotation.Autowire;
-import org.apache.tuscany.core.wire.ProxyFactoryFactory;
+import org.apache.tuscany.core.wire.WireFactoryFactory;
 import org.apache.tuscany.core.wire.SourceInvocationConfiguration;
 import org.apache.tuscany.core.wire.SourceWireFactory;
 import org.apache.tuscany.core.wire.WireSourceConfiguration;
@@ -48,7 +48,7 @@
 public class JSONRPCEntryPointConfigurationBuilder implements ContextFactoryBuilder {
     private ContextFactoryBuilderRegistry builderRegistry;
 
-    private ProxyFactoryFactory proxyFactoryFactory;
+    private WireFactoryFactory wireFactoryFactory;
 
     private MessageFactory messageFactory;
 
@@ -71,8 +71,8 @@
      * Sets the factory used to construct proxies implmementing the business interface required by a reference
      */
     @Autowire
-    public void setProxyFactoryFactory(ProxyFactoryFactory factory) {
-        this.proxyFactoryFactory = factory;
+    public void setProxyFactoryFactory(WireFactoryFactory factory) {
+        this.wireFactoryFactory = factory;
     }
 
     /**
@@ -110,7 +110,7 @@
         Service service = configuredService.getPort();
         ServiceContract serviceContract = service.getServiceContract();
         Map<Method, SourceInvocationConfiguration> iConfigMap = new HashMap<Method, SourceInvocationConfiguration>();
-        SourceWireFactory proxyFactory = proxyFactoryFactory.createSourceWireFactory();
+        SourceWireFactory proxyFactory = wireFactoryFactory.createSourceWireFactory();
         Set<Method> javaMethods = JavaIntrospectionHelper.getAllUniqueMethods(serviceContract.getInterface());
         for (Method method : javaMethods) {
             SourceInvocationConfiguration iConfig = new SourceInvocationConfiguration(method);
@@ -122,7 +122,7 @@
                 messageFactory);
         proxyFactory.setBusinessInterface(serviceContract.getInterface());
         proxyFactory.setConfiguration(wireConfiguration);
-        config.addSourceProxyFactory(service.getName(), proxyFactory);
+        config.addSourceWireFactory(service.getName(), proxyFactory);
         configuredService.setProxyFactory(proxyFactory);
         if (policyBuilder != null) {
             // invoke the reference builder to handle additional policy metadata

Modified: incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/handler/JSONRPCEntryPointServlet.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/handler/JSONRPCEntryPointServlet.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/handler/JSONRPCEntryPointServlet.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/handler/JSONRPCEntryPointServlet.java Sun Apr 23 08:27:42 2006
@@ -23,6 +23,7 @@
 
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;

Modified: incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilder.java Sun Apr 23 08:27:42 2006
@@ -58,6 +58,11 @@
 
     private WireFactoryService wireFactoryService;
 
+    /**
+     * Constructs a new instance
+     *
+     * @param wireFactoryService the system service responsible for creating wire factories
+     */
     public JavaContextFactoryBuilder(WireFactoryService wireFactoryService) {
         this.wireFactoryService = wireFactoryService;
     }
@@ -76,7 +81,7 @@
     }
 
     /**
-     * Sets the factory used to construct wire factories
+     * Sets the system service used to construct wire factories
      */
     @Autowire
     public void setWireFactoryService(WireFactoryService wireFactoryService) {
@@ -94,8 +99,7 @@
             Scope previous = null;
             Scope scope = Scope.INSTANCE;
             for (Service service : services) {
-                // calculate and validate the scope of the component; ensure that all service scopes are the same unless
-                // a scope is stateless
+                // calculate and validate the scope of the component; ensure that all service scopes are the same unless stateless
                 Scope current = service.getServiceContract().getScope();
                 if (previous != null && current != null && current != previous
                         && (current != Scope.INSTANCE && previous != Scope.INSTANCE)) {
@@ -144,7 +148,7 @@
                         eagerInit = init.eager();
                         continue;
                     }
-                    // @spec - should we allow the same method to have @init and @destroy?
+                    // TODO spec - should we allow the same method to have @init and @destroy?
                     Destroy destroy = method.getAnnotation(Destroy.class);
                     if (destroy != null && destroyInvoker == null) {
                         destroyInvoker = new MethodEventInvoker<Object>(method);
@@ -169,13 +173,11 @@
                         injectors.add(injector);
                     }
                 }
-                component.setContextFactory(contextFactory);
-
                 // create target-side wire chains for each service offered by the implementation
                 for (ConfiguredService configuredService : component.getConfiguredServices()) {
                     Service service = configuredService.getPort();
                     TargetWireFactory wireFactory = wireFactoryService.createTargetFactory(configuredService);
-                    contextFactory.addTargetProxyFactory(service.getName(), wireFactory);
+                    contextFactory.addTargetWireFactory(service.getName(), wireFactory);
                 }
 
                 // create injectors for references
@@ -186,12 +188,11 @@
                         injectors.add(injector);
                     }
                 }
-
                 contextFactory.setSetters(injectors);
                 contextFactory.setEagerInit(eagerInit);
                 contextFactory.setInitInvoker(initInvoker);
                 contextFactory.setDestroyInvoker(destroyInvoker);
-
+                component.setContextFactory(contextFactory);
             } catch (BuilderException e) {
                 e.addContextName(component.getName());
                 throw e;
@@ -253,7 +254,7 @@
         List<ObjectFactory> objectFactories = new ArrayList<ObjectFactory>();
         List<SourceWireFactory> wirefactories = wireFactoryService.createSourceFactory(reference);
         for (SourceWireFactory wireFactory : wirefactories) {
-            config.addSourceProxyFactory(refName, wireFactory);
+            config.addSourceWireFactory(refName, wireFactory);
             objectFactories.add(new ProxyObjectFactory(wireFactory));
         }
         boolean multiplicity = reference.getPort().getMultiplicity() == Multiplicity.ONE_N

Modified: incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java Sun Apr 23 08:27:42 2006
@@ -15,72 +15,28 @@
 
 import org.apache.tuscany.container.java.config.JavaContextFactory;
 import org.apache.tuscany.container.java.invocation.ScopedJavaComponentInvoker;
-import org.apache.tuscany.core.builder.BuilderConfigException;
-import org.apache.tuscany.core.builder.WireBuilder;
+import org.apache.tuscany.core.context.QualifiedName;
 import org.apache.tuscany.core.context.ScopeContext;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.system.annotation.Autowire;
-import org.apache.tuscany.core.wire.SourceInvocationConfiguration;
-import org.apache.tuscany.core.wire.SourceWireFactory;
-import org.apache.tuscany.core.wire.TargetWireFactory;
-import org.osoa.sca.annotations.Init;
+import org.apache.tuscany.core.extension.WireBuilderSupport;
+import org.apache.tuscany.core.wire.TargetInvoker;
 import org.osoa.sca.annotations.Scope;
 
+import java.lang.reflect.Method;
+
 /**
  * Completes a wire to a Java-based target component by adding a scoped java invoker to the source chain
- * 
+ *
  * @version $Rev$ $Date$
  */
 @Scope("MODULE")
-public class JavaTargetWireBuilder implements WireBuilder {
-
-    private RuntimeContext runtimeContext;
-
-    @Autowire
-    public void setRuntimeContext(RuntimeContext context) {
-        runtimeContext = context;
-    }
-
-    public JavaTargetWireBuilder() {
-    }
-
-    @Init(eager=true)
-    public void init() {
-        runtimeContext.addBuilder(this);
-    }
+public class JavaTargetWireBuilder extends WireBuilderSupport {
 
-    public void connect(SourceWireFactory sourceFactory, TargetWireFactory targetFactory, Class targetType, boolean downScope,
-            ScopeContext targetScopeContext) throws BuilderConfigException {
-        if (!(JavaContextFactory.class.isAssignableFrom(targetType))) {
-            return;
-        }
-        for (SourceInvocationConfiguration sourceInvocationConfig : sourceFactory.getConfiguration().getInvocationConfigurations()
-                .values()) {
-            ScopedJavaComponentInvoker invoker = new ScopedJavaComponentInvoker(sourceFactory.getConfiguration()
-                    .getTargetName(), sourceInvocationConfig.getMethod(), targetScopeContext);
-            if (downScope) {
-                // the source scope is shorter than the target, so the invoker can cache the target instance
-                invoker.setCacheable(false);
-            } else {
-                invoker.setCacheable(true); //TODO set to true
-            }
-            sourceInvocationConfig.setTargetInvoker(invoker);
-        }
+    protected boolean handlesTargetType(Class targetType) {
+        return JavaContextFactory.class.isAssignableFrom(targetType);
     }
 
-    public void completeTargetChain(TargetWireFactory targetFactory, Class targetType, ScopeContext targetScopeContext)
-            throws BuilderConfigException {
-        // TODO implement.
-        // if (!(JavaComponentRuntimeConfiguration.class.isAssignableFrom(targetType))) {
-        // return;
-        // }
-        // for (InvocationConfiguration targetInvocationConfig :
-        // targetFactory.getConfiguration().getInvocationConfigurations()
-        // .values()) {
-        // ScopedJavaComponentInvoker invoker = new ScopedJavaComponentInvoker(targetFactory.getConfiguration()
-        // .getTargetName(), ((JavaOperationType) targetInvocationConfig.getOperationType()).getJavaMethod(),
-        // targetScopeContext);
-        // targetInvocationConfig.setTargetInvoker(invoker);
-        // }
+    protected TargetInvoker createInvoker(QualifiedName targetName, Method operation, ScopeContext context, boolean downScope) {
+        boolean cacheable = !downScope;
+        return new ScopedJavaComponentInvoker(targetName, operation, context,cacheable);
     }
 }

Modified: incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java Sun Apr 23 08:27:42 2006
@@ -66,10 +66,6 @@
     // whether the component is stateless
     private boolean stateless;
 
-    // ----------------------------------
-    // Constructors
-    // ----------------------------------
-
     /**
      * Creates a new context factory
      * 
@@ -101,25 +97,25 @@
 
     private Map<String, TargetWireFactory> targetProxyFactories = new HashMap<String, TargetWireFactory>();
 
-    public void addTargetProxyFactory(String serviceName, TargetWireFactory factory) {
+    public void addTargetWireFactory(String serviceName, TargetWireFactory factory) {
         targetProxyFactories.put(serviceName, factory);
     }
 
-    public TargetWireFactory getTargetProxyFactory(String serviceName) {
+    public TargetWireFactory getTargetWireFactory(String serviceName) {
         return targetProxyFactories.get(serviceName);
     }
 
-    public Map<String, TargetWireFactory> getTargetProxyFactories() {
+    public Map<String, TargetWireFactory> getTargetWireFactories() {
         return targetProxyFactories;
     }
 
     private List<SourceWireFactory> sourceProxyFactories = new ArrayList<SourceWireFactory>();
 
-    public void addSourceProxyFactory(String referenceName, SourceWireFactory factory) {
+    public void addSourceWireFactory(String referenceName, SourceWireFactory factory) {
         sourceProxyFactories.add(factory);
     }
 
-    public List<SourceWireFactory> getSourceProxyFactories() {
+    public List<SourceWireFactory> getSourceWireFactories() {
         return sourceProxyFactories;
     }
 

Modified: incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/ScopedJavaComponentInvoker.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/ScopedJavaComponentInvoker.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/ScopedJavaComponentInvoker.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/ScopedJavaComponentInvoker.java Sun Apr 23 08:27:42 2006
@@ -16,15 +16,15 @@
  */
 package org.apache.tuscany.container.java.invocation;
 
-import java.lang.reflect.Method;
-
 import org.apache.tuscany.core.context.QualifiedName;
 import org.apache.tuscany.core.context.ScopeContext;
 import org.apache.tuscany.core.context.TargetException;
 
+import java.lang.reflect.Method;
+
 /**
  * Uses a scope container to resolve an implementation instance based on the current thread context
- * 
+ *
  * @version $Rev$ $Date$
  */
 public class ScopedJavaComponentInvoker extends AbstractJavaComponentInvoker {
@@ -37,12 +37,24 @@
 
     public boolean cacheable;
 
-    public ScopedJavaComponentInvoker(QualifiedName serviceName, Method operation, ScopeContext container) {
+
+    /**
+     * Creates a new invoker
+     *
+     * @param serviceName the name of the component/service pair to invoke
+     * @param operation   the operation the invoker is associated with
+     * @param scopeContext the scope context the component is resolved in
+     * @param cacheable   Sets whether the target service instance may be cached by the invoker. This is a possible optimization
+     *                    when a wire is configured for a "down-scope" reference, i.e. a reference from a source of a shorter
+     *                    lifetime to a source of greater lifetime.
+     */
+    public ScopedJavaComponentInvoker(QualifiedName serviceName, Method operation, ScopeContext scopeContext, boolean cacheable) {
         super(operation);
         assert (serviceName != null) : "No service name specified";
-        assert (container != null) : "No scope container specified";
+        assert (scopeContext != null) : "No scope scopeContext specified";
         name = serviceName;
-        this.container = container;
+        this.container = scopeContext;
+        this.cacheable = cacheable;
     }
 
     /**
@@ -50,15 +62,6 @@
      */
     public boolean isCacheable() {
         return cacheable;
-    }
-
-    /**
-     * Sets whether the target service instance may be cached by the invoker. This is a possible optimization when a
-     * wire is configured for a "down-scope" reference, i.e. a reference from a source of a shorter lifetime to a source
-     * of greater lifetime.
-     */
-    public void setCacheable(boolean val) {
-        cacheable = val;
     }
 
     /**

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilderTestCase.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaContextFactoryBuilderTestCase.java Sun Apr 23 08:27:42 2006
@@ -24,7 +24,7 @@
 import org.apache.tuscany.core.context.Context;
 import org.apache.tuscany.core.context.event.ModuleStart;
 import org.apache.tuscany.core.wire.WireConfiguration;
-import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.wire.SourceWireFactory;
 import org.apache.tuscany.core.wire.service.WireFactoryService;
 import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
@@ -42,7 +42,7 @@
         MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, true);
         PolicyBuilderRegistry policyRegistry = new DefaultPolicyBuilderRegistry();
         policyRegistry.registerSourceBuilder(interceptorBuilder);
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), policyRegistry);
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), policyRegistry);
         JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder(wireService);
 
         JavaTargetWireBuilder javaWireBuilder = new JavaTargetWireBuilder();
@@ -66,14 +66,14 @@
         for (Component component : components) {
             ContextFactory<Context> source = (ContextFactory<Context>) component.getContextFactory();
             Assert.assertNotNull(source);
-            for (SourceWireFactory pFactory : source.getSourceProxyFactories()) {
+            for (SourceWireFactory pFactory : source.getSourceWireFactories()) {
                 WireConfiguration pConfig = pFactory.getConfiguration();
                 Component target = compMap.get(pConfig.getTargetName().getPartName());
 
                 if (target != null) {
                     ContextFactory targetConfig = (ContextFactory) target.getContextFactory();
                     boolean downScope = strategy.downScopeReference(source.getScope(), targetConfig.getScope());
-                    wireBuilder.connect(pFactory, targetConfig.getTargetProxyFactory(pFactory.getConfiguration().getTargetName()
+                    wireBuilder.connect(pFactory, targetConfig.getTargetWireFactory(pFactory.getConfiguration().getTargetName()
                             .getPortName()), targetConfig.getClass(), downScope, scopeContext);
                 }
                 pFactory.initialize();

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java Sun Apr 23 08:27:42 2006
@@ -17,7 +17,7 @@
 import org.apache.tuscany.core.context.QualifiedName;
 import org.apache.tuscany.core.wire.MethodHashMap;
 import org.apache.tuscany.core.wire.impl.InvokerInterceptor;
-import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.wire.WireSourceConfiguration;
 import org.apache.tuscany.core.wire.WireTargetConfiguration;
 import org.apache.tuscany.core.wire.SourceInvocationConfiguration;
@@ -58,7 +58,7 @@
         source.addResponseHandler(sourceResponseHandler);
         source.addInterceptor(sourceInterceptor);
 
-        SourceWireFactory sourceFactory = new JDKProxyFactoryFactory().createSourceWireFactory();
+        SourceWireFactory sourceFactory = new JDKWireFactoryFactory().createSourceWireFactory();
         Map<Method, SourceInvocationConfiguration> sourceInvocationConfigs = new MethodHashMap<SourceInvocationConfiguration>();
         sourceInvocationConfigs.put(hello, source);
         WireSourceConfiguration sourceConfig = new WireSourceConfiguration("foo",new QualifiedName("target/SimpleTarget"),
@@ -75,7 +75,7 @@
         target.addInterceptor(targetInterceptor);
         target.addInterceptor(new InvokerInterceptor());
 
-        TargetWireFactory targetFactory = new JDKProxyFactoryFactory().createTargetWireFactory();
+        TargetWireFactory targetFactory = new JDKWireFactoryFactory().createTargetWireFactory();
         Map<Method, TargetInvocationConfiguration> targetInvocationConfigs = new MethodHashMap<TargetInvocationConfiguration>();
         targetInvocationConfigs.put(hello, target);
         WireTargetConfiguration targetConfig = new WireTargetConfiguration(new QualifiedName("target/SimpleTarget"),

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/MockInterceptorBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/MockInterceptorBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/MockInterceptorBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/MockInterceptorBuilder.java Sun Apr 23 08:27:42 2006
@@ -37,11 +37,8 @@
  */
 public class MockInterceptorBuilder implements SourcePolicyBuilder, TargetPolicyBuilder {
 
-
     private Interceptor interceptor;
 
-    private boolean source;
-
     /**
      * Creates the builder
      *
@@ -51,55 +48,13 @@
      */
     public MockInterceptorBuilder(Interceptor interceptor, boolean source) {
         this.interceptor = interceptor;
-        this.source = source;
-    }
-
-    public void build(AssemblyObject modelObject) throws BuilderException {
-        if (source) {
-            if (!(modelObject instanceof ConfiguredReference)) {
-                return;
-            } else {
-                ConfiguredReference cref = (ConfiguredReference) modelObject;
-                // xcvProxyFactory pFactory = (WireFactory) cref.getProxyFactory();
-                for (ConfiguredService configuredService : cref.getTargetConfiguredServices()) {
-                    SourceWireFactory pFactory = (SourceWireFactory) configuredService.getProxyFactory();
-                    for (SourceInvocationConfiguration config : pFactory.getConfiguration().getInvocationConfigurations().values())
-                    {
-                        config.addInterceptor(interceptor);
-                    }
-                }
-            }
-        } else {
-            if (!(modelObject instanceof ConfiguredService)) {
-                return;
-            } else {
-                ConfiguredService cservice = (ConfiguredService) modelObject;
-                WireFactory pFactory = (WireFactory) cservice.getProxyFactory();
-                if (pFactory instanceof SourceWireFactory) {
-                    //if (pFactory.getConfiguration() instanceof WireSourceConfiguration){
-                    for (SourceInvocationConfiguration config : ((SourceWireFactory) pFactory).getConfiguration().getInvocationConfigurations().values())
-                    {
-                        config.addInterceptor(interceptor);
-                    }
-                } else if (pFactory instanceof TargetWireFactory) {
-                    for (TargetInvocationConfiguration config : ((TargetWireFactory) pFactory).getConfiguration().getInvocationConfigurations().values())
-                    {
-                        config.addInterceptor(interceptor);
-                    }
-
-                }
-            }
-
-        }
     }
 
     public void build(ConfiguredReference reference, List<WireSourceConfiguration> configurations) throws BuilderException {
         for (WireSourceConfiguration wireSourceConfiguration : configurations) {
             for (SourceInvocationConfiguration configuration : wireSourceConfiguration.getInvocationConfigurations().values()) {
                 configuration.addInterceptor(interceptor);
-
             }
-
         }
     }
 

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java Sun Apr 23 08:27:42 2006
@@ -33,7 +33,7 @@
 import org.apache.tuscany.core.context.AtomicContext;
 import org.apache.tuscany.core.context.event.ModuleStart;
 import org.apache.tuscany.core.context.impl.CompositeContextImpl;
-import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.wire.service.WireFactoryService;
 import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
@@ -71,7 +71,7 @@
         CompositeContextImpl context = new CompositeContextImpl();
         context.setName("system.context");
         List<ContextFactoryBuilder>builders = MockFactory.createSystemBuilders();
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), new DefaultPolicyBuilderRegistry());
         builders.add(new JavaContextFactoryBuilder(wireService));
         List<WireBuilder> wireBuilders = new ArrayList<WireBuilder>();
         wireBuilders.add(new JavaTargetWireBuilder());

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java Sun Apr 23 08:27:42 2006
@@ -32,7 +32,7 @@
 import org.apache.tuscany.core.context.AtomicContext;
 import org.apache.tuscany.core.context.event.ModuleStart;
 import org.apache.tuscany.core.context.impl.CompositeContextImpl;
-import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.wire.service.WireFactoryService;
 import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
@@ -67,7 +67,7 @@
         CompositeContextImpl context = new CompositeContextImpl();
         context.setName("system.context");
         List<ContextFactoryBuilder>builders = MockFactory.createSystemBuilders();
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), new DefaultPolicyBuilderRegistry());
         builders.add(new JavaContextFactoryBuilder(wireService));
         List<WireBuilder> wireBuilders = new ArrayList<WireBuilder>();
         wireBuilders.add(new JavaTargetWireBuilder());

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java Sun Apr 23 08:27:42 2006
@@ -15,7 +15,7 @@
 
 import junit.framework.Assert;
 import junit.framework.TestCase;
-
+import org.apache.tuscany.common.monitor.impl.NullMonitorFactory;
 import org.apache.tuscany.container.java.builder.JavaContextFactoryBuilder;
 import org.apache.tuscany.container.java.builder.JavaTargetWireBuilder;
 import org.apache.tuscany.container.java.builder.MockHandlerBuilder;
@@ -25,26 +25,23 @@
 import org.apache.tuscany.container.java.mock.MockFactory;
 import org.apache.tuscany.container.java.mock.components.GenericComponent;
 import org.apache.tuscany.core.builder.ContextFactoryBuilderRegistry;
-import org.apache.tuscany.core.builder.system.PolicyBuilderRegistry;
-import org.apache.tuscany.core.builder.system.DefaultPolicyBuilderRegistry;
 import org.apache.tuscany.core.builder.impl.DefaultWireBuilder;
+import org.apache.tuscany.core.builder.system.DefaultPolicyBuilderRegistry;
+import org.apache.tuscany.core.builder.system.PolicyBuilderRegistry;
 import org.apache.tuscany.core.client.BootstrapHelper;
 import org.apache.tuscany.core.context.CompositeContext;
 import org.apache.tuscany.core.context.event.ModuleStart;
 import org.apache.tuscany.core.context.event.ModuleStop;
-import org.apache.tuscany.core.message.MessageFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.core.runtime.RuntimeContext;
 import org.apache.tuscany.core.runtime.RuntimeContextImpl;
-import org.apache.tuscany.core.wire.ProxyFactoryFactory;
-import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
-import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
-import org.apache.tuscany.common.monitor.impl.NullMonitorFactory;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
 
 /**
  * Verifies that the composite context implementation and java component builders construct references properly
- * 
+ *
  * @version $Rev$ $Date$
  */
 public class JavaBuilderContextIntegrationTestCase extends TestCase {
@@ -72,12 +69,9 @@
         MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, true);
         PolicyBuilderRegistry policyRegistry = new DefaultPolicyBuilderRegistry();
         policyRegistry.registerSourceBuilder(interceptorBuilder);
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), policyRegistry);
-        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireService);
+        WireFactoryService wireFactory = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), policyRegistry);
+        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireFactory);
 
-        //HierarchicalBuilder refBuilder = new HierarchicalBuilder();
-        //refBuilder.addBuilder(interceptorBuilder);
-        //javaBuilder.addPolicyBuilder(interceptorBuilder);
         builderRegistry.register(javaBuilder);
 
         RuntimeContext runtime = new RuntimeContextImpl(monitorFactory, builderRegistry, defaultWireBuilder);
@@ -106,21 +100,8 @@
         PolicyBuilderRegistry policyRegistry = new DefaultPolicyBuilderRegistry();
         policyRegistry.registerSourceBuilder(interceptorBuilder);
         policyRegistry.registerSourceBuilder(handlerBuilder);
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), policyRegistry);
-        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireService);
-
-        //WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory());
-        //JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireService);
-
-        //MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
-        //MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, true);
-        //HierarchicalBuilder refBuilder = new HierarchicalBuilder();
-        //refBuilder.addBuilder(interceptorBuilder);
-//        MockHandler mockHandler = new MockHandler();
-//        MockHandlerBuilder handlerBuilder = new MockHandlerBuilder(mockHandler, true, true);
-        //refBuilder.addBuilder(handlerBuilder);
-//        javaBuilder.addPolicyBuilder(interceptorBuilder);
-//        javaBuilder.addPolicyBuilder(handlerBuilder);
+        WireFactoryService wireFactory = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), policyRegistry);
+        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireFactory);
 
         builderRegistry.register(javaBuilder);
         RuntimeContext runtime = new RuntimeContextImpl(monitorFactory, builderRegistry, defaultWireBuilder);
@@ -151,20 +132,8 @@
         PolicyBuilderRegistry policyRegistry = new DefaultPolicyBuilderRegistry();
         policyRegistry.registerSourceBuilder(interceptorBuilder);
         policyRegistry.registerSourceBuilder(handlerBuilder);
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), policyRegistry);
-        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireService);
-
-
-
-//        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory());
-//        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireService);
-//
-//        MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
-//        MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, false);
-//        MockHandler mockHandler = new MockHandler();
-//        MockHandlerBuilder handlerBuilder = new MockHandlerBuilder(mockHandler, false, true);
-//        javaBuilder.addPolicyBuilder(interceptorBuilder);
-//        javaBuilder.addPolicyBuilder(handlerBuilder);
+        WireFactoryService wireFactory = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), policyRegistry);
+        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireFactory);
 
         builderRegistry.register(javaBuilder);
 
@@ -193,15 +162,8 @@
         MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, false);
         PolicyBuilderRegistry policyRegistry = new DefaultPolicyBuilderRegistry();
         policyRegistry.registerSourceBuilder(interceptorBuilder);
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), policyRegistry);
-        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireService);
-
-//        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory());
-//        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireService);
-//
-//        MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
-//        MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, false);
-//        javaBuilder.addPolicyBuilder(interceptorBuilder);
+        WireFactoryService wireFactory = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), policyRegistry);
+        JavaContextFactoryBuilder javaBuilder = new JavaContextFactoryBuilder(wireFactory);
 
         builderRegistry.register(javaBuilder);
 

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java Sun Apr 23 08:27:42 2006
@@ -45,7 +45,7 @@
 
     public void testScopedInvoke() throws Exception {
         ScopeContext container = new MockScopeContext();
-        ScopedJavaComponentInvoker invoker = new ScopedJavaComponentInvoker(new QualifiedName("foo"), echoMethod, container);
+        ScopedJavaComponentInvoker invoker = new ScopedJavaComponentInvoker(new QualifiedName("foo"), echoMethod, container,false);
         Object ret = invoker.invokeTarget("foo");
         Assert.assertEquals("foo", ret);
     }

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java Sun Apr 23 08:27:42 2006
@@ -79,10 +79,9 @@
 import org.apache.tuscany.core.client.BootstrapHelper;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.core.message.MessageFactory;
-import org.apache.tuscany.core.wire.ProxyFactoryFactory;
-import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.WireFactoryFactory;
 import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
-import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.model.assembly.AssemblyContext;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 import org.apache.tuscany.model.assembly.Component;
@@ -112,7 +111,7 @@
 
     public static final String MESSAGE_FACTORY = "java.runtime.messageFactory";
 
-    public static final String PROXY_FACTORY_FACTORY = "java.runtime.proxyFactoryFactory";
+    public static final String PROXY_FACTORY_FACTORY = "java.runtime.wireFactoryFactory";
 
     public static final String WIRE_FACTORY_SERVICE = "java.runtime.wireFactoryservice";
 
@@ -690,8 +689,8 @@
         SystemCompositeContext ctx = (SystemCompositeContext) runtime.getSystemContext().getContext(SYSTEM_CHILD);
         ctx.registerModelObject(systemFactory.createSystemComponent(POLICY_BUILDER_REGISTRY, PolicyBuilderRegistry.class, DefaultPolicyBuilderRegistry.class, Scope.MODULE));
         ctx.registerModelObject(systemFactory.createSystemComponent(MESSAGE_FACTORY, MessageFactory.class, MessageFactoryImpl.class, Scope.MODULE));
-        ctx.registerModelObject(systemFactory.createSystemComponent(PROXY_FACTORY_FACTORY, ProxyFactoryFactory.class, JDKProxyFactoryFactory.class, Scope.MODULE));
-        ctx.registerModelObject(systemFactory.createSystemComponent(WIRE_FACTORY_SERVICE, WireFactoryService.class, DefaultWireFactoryService.class, Scope.MODULE));
+        ctx.registerModelObject(systemFactory.createSystemComponent(PROXY_FACTORY_FACTORY, WireFactoryFactory.class, JDKWireFactoryFactory.class, Scope.MODULE));
+        ctx.registerModelObject(systemFactory.createSystemComponent(WIRE_FACTORY_SERVICE, org.apache.tuscany.core.wire.service.WireFactoryService.class, DefaultWireFactoryService.class, Scope.MODULE));
         ctx.registerModelObject(systemFactory.createSystemComponent(JAVA_BUILDER, ContextFactoryBuilder.class, JavaContextFactoryBuilder.class, Scope.MODULE));
         ctx.registerModelObject(systemFactory.createSystemComponent(JAVA_WIRE_BUILDER, WireBuilder.class, JavaTargetWireBuilder.class, Scope.MODULE));
         ctx.publish(new ModuleStart(new Object()));