Author: jmarino
Date: Fri Apr 21 00:03:23 2006
New Revision: 395800

URL: http://svn.apache.org/viewcvs?rev=395800&view=rev
Log:
context builder factory refactors

Modified:
    
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/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/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/mock/MockFactory.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/core/src/main/java/org/apache/tuscany/core/loader/impl/StAXLoaderRegistryImpl.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/message/impl/MessageFactoryImpl.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKProxyFactoryFactory.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

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=395800&r1=395799&r2=395800&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
 Fri Apr 21 00:03:23 2006
@@ -1,21 +1,14 @@
 package org.apache.tuscany.container.java.builder;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import commonj.sdo.DataObject;
 import org.apache.tuscany.container.java.assembly.JavaImplementation;
 import org.apache.tuscany.container.java.config.JavaContextFactory;
 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.builder.NoAccessorException;
 import org.apache.tuscany.core.builder.ObjectFactory;
-import org.apache.tuscany.core.builder.ContextFactoryBuilderRegistry;
 import org.apache.tuscany.core.builder.impl.ArrayMultiplicityObjectFactory;
 import org.apache.tuscany.core.builder.impl.HierarchicalBuilder;
 import org.apache.tuscany.core.builder.impl.ListMultiplicityObjectFactory;
@@ -30,17 +23,12 @@
 import org.apache.tuscany.core.injection.MethodInjector;
 import org.apache.tuscany.core.injection.SDOObjectFactory;
 import org.apache.tuscany.core.injection.SingletonObjectFactory;
-import org.apache.tuscany.core.wire.MethodHashMap;
-import org.apache.tuscany.core.wire.impl.InvokerInterceptor;
-import org.apache.tuscany.core.wire.ProxyFactoryFactory;
-import org.apache.tuscany.core.wire.WireSourceConfiguration;
-import org.apache.tuscany.core.wire.WireTargetConfiguration;
+import org.apache.tuscany.core.system.annotation.Autowire;
+import org.apache.tuscany.core.wire.SourceWireFactory;
 import org.apache.tuscany.core.wire.TargetInvocationConfiguration;
-import org.apache.tuscany.core.wire.SourceInvocationConfiguration;
 import org.apache.tuscany.core.wire.TargetWireFactory;
-import org.apache.tuscany.core.wire.SourceWireFactory;
-import org.apache.tuscany.core.message.MessageFactory;
-import org.apache.tuscany.core.system.annotation.Autowire;
+import org.apache.tuscany.core.wire.impl.InvokerInterceptor;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
 import org.apache.tuscany.model.assembly.AssemblyObject;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 import org.apache.tuscany.model.assembly.ConfiguredProperty;
@@ -55,32 +43,33 @@
 import org.osoa.sca.annotations.Destroy;
 import org.osoa.sca.annotations.Init;
 
-import commonj.sdo.DataObject;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
 
 /**
- * Builds context factories for component implementations that map to
- * [EMAIL PROTECTED] 
org.apache.tuscany.container.java.assembly.JavaImplementation}. The logical 
model is then decorated with the
- * runtime configuration.
- * 
- * @see org.apache.tuscany.core.builder.ContextFactory
- * 
+ * Builds context factories for component implementations that map to [EMAIL 
PROTECTED] org.apache.tuscany.container.java.assembly.JavaImplementation}.
+ * The logical model is then decorated with the runtime configuration.
+ *
  * @version $Rev: 368822 $ $Date: 2006-01-13 10:54:38 -0800 (Fri, 13 Jan 2006) 
$
+ * @see org.apache.tuscany.core.builder.ContextFactory
  */
 @org.osoa.sca.annotations.Scope("MODULE")
 public class JavaContextFactoryBuilder implements ContextFactoryBuilder {
-    private ContextFactoryBuilderRegistry builderRegistry;
 
-    private ProxyFactoryFactory proxyFactoryFactory;
+    private ContextFactoryBuilderRegistry builderRegistry;
 
-    private MessageFactory messageFactory;
+    private WireFactoryService wireFactoryService;
 
     /* the top-level builder responsible for evaluating policies */
     private HierarchicalBuilder policyBuilder = new HierarchicalBuilder();
 
 
-    public JavaContextFactoryBuilder(ProxyFactoryFactory proxyFactoryFactory, 
MessageFactory messageFactory) {
-        this.proxyFactoryFactory = proxyFactoryFactory;
-        this.messageFactory = messageFactory;
+    public JavaContextFactoryBuilder(WireFactoryService wireFactoryService) {
+        this.wireFactoryService = wireFactoryService;
     }
 
     public JavaContextFactoryBuilder() {
@@ -97,27 +86,17 @@
     }
 
     /**
-     * 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
+     * Sets the factory used to construct wire factories
      */
     @Autowire
-    public void setMessageFactory(MessageFactory msgFactory) {
-        this.messageFactory = msgFactory;
+    public void setWireFactoryService(WireFactoryService wireFactoryService) {
+        this.wireFactoryService = wireFactoryService;
     }
 
     /**
-     * Adds 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.
+     * Adds 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.
      */
     public void addPolicyBuilder(ContextFactoryBuilder builder) {
         policyBuilder.addBuilder(builder);
@@ -158,7 +137,7 @@
                 String name = component.getName();
                 contextFactory = new JavaContextFactory(name, 
JavaIntrospectionHelper
                         .getDefaultConstructor(implClass), scope);
-                
+
                 List<Injector> injectors = new ArrayList<Injector>();
 
                 EventInvoker<Object> initInvoker = null;
@@ -215,30 +194,21 @@
                 for (ConfiguredService configuredService : 
component.getConfiguredServices()) {
                     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(component.getName() + QualifiedName.NAME_SEPARATOR
                             + service.getName());
-                    WireTargetConfiguration wireConfiguration = new 
WireTargetConfiguration(qName, iConfigMap, serviceContract.getInterface()
-                            .getClassLoader(), messageFactory);
-                    
proxyFactory.setBusinessInterface(serviceContract.getInterface());
-                    proxyFactory.setConfiguration(wireConfiguration);
-                    contextFactory.addTargetProxyFactory(service.getName(), 
proxyFactory);
-                    configuredService.setProxyFactory(proxyFactory);
+                    TargetWireFactory wireFactory = 
wireFactoryService.createTargetFactory(qName, serviceContract.getInterface());
+                    contextFactory.addTargetProxyFactory(service.getName(), 
wireFactory);
+                    configuredService.setProxyFactory(wireFactory);
                     if (policyBuilder != null) {
                         // invoke the reference builder to handle target-side 
metadata
                         policyBuilder.build(configuredService);
                     }
                     // add tail interceptor
-                    for (TargetInvocationConfiguration iConfig : 
iConfigMap.values()) {
+                    //TODO remove
+                    for (TargetInvocationConfiguration iConfig : 
wireFactory.getConfiguration().getInvocationConfigurations().values())
+                    {
                         iConfig.addInterceptor(new InvokerInterceptor());
                     }
-
                 }
 
                 // create injectors for references
@@ -249,7 +219,7 @@
                         injectors.add(injector);
                     }
                 }
-                
+
                 contextFactory.setSetters(injectors);
                 contextFactory.setEagerInit(eagerInit);
                 contextFactory.setInitInvoker(initInvoker);
@@ -279,7 +249,7 @@
         Method method = null;
         Field field = 
JavaIntrospectionHelper.findClosestMatchingField(propName, type, fields);
         if (field == null) {
-            method = 
JavaIntrospectionHelper.findClosestMatchingMethod(propName, new Class[] { type 
}, methods);
+            method = 
JavaIntrospectionHelper.findClosestMatchingMethod(propName, new Class[]{type}, 
methods);
             if (method == null) {
                 throw new NoAccessorException(propName);
             }
@@ -303,11 +273,11 @@
     }
 
     /**
-     * Creates proxy factories that represent target(s) of a reference and an 
<code>Injector</code> responsible for
-     * injecting them into the reference
+     * Creates proxy factories that represent target(s) of a reference and an 
<code>Injector</code> responsible for injecting them
+     * into the reference
      */
     private Injector createReferenceInjector(JavaContextFactory config, 
ConfiguredReference reference,
-            Set<Field> fields, Set<Method> methods) {
+                                             Set<Field> fields, Set<Method> 
methods) {
 
         // iterate through the targets
         List<ObjectFactory> objectFactories = new ArrayList<ObjectFactory>();
@@ -317,27 +287,15 @@
             String targetCompName = configuredService.getPart().getName();
             String targetSerivceName = configuredService.getPort().getName();
             QualifiedName qName = new QualifiedName(targetCompName + 
QualifiedName.NAME_SEPARATOR + targetSerivceName);
-
-            SourceWireFactory proxyFactory = 
proxyFactoryFactory.createSourceWireFactory();
             Class interfaze = 
reference.getPort().getServiceContract().getInterface();
-            Map<Method, SourceInvocationConfiguration> iConfigMap = new 
HashMap<Method, SourceInvocationConfiguration>();
-            Set<Method> javaMethods = 
JavaIntrospectionHelper.getAllUniqueMethods(interfaze);
-            for (Method method : javaMethods) {
-                SourceInvocationConfiguration iConfig = new 
SourceInvocationConfiguration(method);
-                iConfigMap.put(method, iConfig);
-            }
-
-            WireSourceConfiguration pConfiguration = new 
WireSourceConfiguration(refName, qName, iConfigMap, interfaze.getClassLoader(),
-                    messageFactory);
-            proxyFactory.setBusinessInterface(interfaze);
-            proxyFactory.setConfiguration(pConfiguration);
-            config.addSourceProxyFactory(reference.getPort().getName(), 
proxyFactory);
-            configuredService.setProxyFactory(proxyFactory);
+            SourceWireFactory wireFactory = 
wireFactoryService.createSourceFactory(refName, qName, interfaze);
+            config.addSourceProxyFactory(reference.getPort().getName(), 
wireFactory);
+            configuredService.setProxyFactory(wireFactory);
             if (policyBuilder != null) {
                 // invoke the reference builder to handle metadata associated 
with the reference
                 policyBuilder.build(reference);
             }
-            objectFactories.add(new ProxyObjectFactory(proxyFactory));
+            objectFactories.add(new ProxyObjectFactory(wireFactory));
         }
         boolean multiplicity = reference.getPort().getMultiplicity() == 
Multiplicity.ONE_N
                 || reference.getPort().getMultiplicity() == 
Multiplicity.ZERO_N;
@@ -349,7 +307,7 @@
      * Creates an <code>Injector</code> for a set of object factories 
associated with a reference.
      */
     private Injector createInjector(String refName, Class refClass, boolean 
multiplicity, List<ObjectFactory> objectFactories,
-            Set<Field> fields, Set<Method> methods) throws 
NoAccessorException, BuilderConfigException {
+                                    Set<Field> fields, Set<Method> methods) 
throws NoAccessorException, BuilderConfigException {
         Field field;
         Method method = null;
         if (multiplicity) {
@@ -384,7 +342,7 @@
         } else {
             field = JavaIntrospectionHelper.findClosestMatchingField(refName, 
refClass, fields);
             if (field == null) {
-                method = 
JavaIntrospectionHelper.findClosestMatchingMethod(refName, new Class[] { 
refClass }, methods);
+                method = 
JavaIntrospectionHelper.findClosestMatchingMethod(refName, new 
Class[]{refClass}, methods);
                 if (method == null) {
                     throw new NoAccessorException(refName);
                 }

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=395800&r1=395799&r2=395800&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
 Fri Apr 21 00:03:23 2006
@@ -24,6 +24,8 @@
 import org.apache.tuscany.core.wire.WireConfiguration;
 import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
 import org.apache.tuscany.core.wire.SourceWireFactory;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Component;
 import org.apache.tuscany.model.assembly.Module;
@@ -34,13 +36,12 @@
     }
 
     public void testBuilder() throws Exception {
-        JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder();
-        builder.setMessageFactory(new MessageFactoryImpl());
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
        // HierarchicalBuilder refBuilder = new HierarchicalBuilder();
         MockSyncInterceptor interceptor = new MockSyncInterceptor();
         builder.addPolicyBuilder(new MockInterceptorBuilder(interceptor, 
true));
         //builder.setPolicyBuilder(refBuilder);
-        builder.setProxyFactoryFactory(new JDKProxyFactoryFactory());
         JavaTargetWireBuilder javaWireBuilder = new JavaTargetWireBuilder();
         ScopeStrategy strategy = new DefaultScopeStrategy();
         DefaultWireBuilder wireBuilder = new DefaultWireBuilder();

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=395800&r1=395799&r2=395800&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
 Fri Apr 21 00:03:23 2006
@@ -33,6 +33,8 @@
 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.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 
@@ -68,7 +70,8 @@
         CompositeContextImpl context = new CompositeContextImpl();
         context.setName("system.context");
         List<ContextFactoryBuilder>builders = 
MockFactory.createSystemBuilders();
-        builders.add(new JavaContextFactoryBuilder(new 
JDKProxyFactoryFactory(), new MessageFactoryImpl()));
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        builders.add(new JavaContextFactoryBuilder(wireService));
         List<WireBuilder> wireBuilders = new ArrayList<WireBuilder>();
         wireBuilders.add(new JavaTargetWireBuilder());
         context.setConfigurationContext(new 
MockConfigContext(builders,wireBuilders));

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=395800&r1=395799&r2=395800&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
 Fri Apr 21 00:03:23 2006
@@ -32,6 +32,8 @@
 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.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 
@@ -64,7 +66,8 @@
         CompositeContextImpl context = new CompositeContextImpl();
         context.setName("system.context");
         List<ContextFactoryBuilder>builders = 
MockFactory.createSystemBuilders();
-        builders.add(new JavaContextFactoryBuilder(new 
JDKProxyFactoryFactory(), new MessageFactoryImpl()));
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        builders.add(new JavaContextFactoryBuilder(wireService));
         List<WireBuilder> wireBuilders = new ArrayList<WireBuilder>();
         wireBuilders.add(new JavaTargetWireBuilder());
         context.setConfigurationContext(new 
MockConfigContext(builders,wireBuilders));

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=395800&r1=395799&r2=395800&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
 Fri Apr 21 00:03:23 2006
@@ -35,6 +35,8 @@
 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.service.DefaultWireFactoryService;
 import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
 import org.apache.tuscany.common.monitor.impl.NullMonitorFactory;
 
@@ -64,13 +66,8 @@
     }
 
     public void testRefWithSourceInterceptor() throws Exception {
-        MessageFactory msgFactory = new MessageFactoryImpl();
-
-        ProxyFactoryFactory proxyFactoryFactory =new JDKProxyFactoryFactory();
-
-        JavaContextFactoryBuilder javaBuilder = new 
JavaContextFactoryBuilder();
-        javaBuilder.setMessageFactory(msgFactory);
-        javaBuilder.setProxyFactoryFactory(proxyFactoryFactory);
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder javaBuilder = new 
JavaContextFactoryBuilder(wireService);
 
         MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
         MockInterceptorBuilder interceptorBuilder = new 
MockInterceptorBuilder(mockInterceptor, true);
@@ -98,11 +95,8 @@
     }
 
     public void testRefWithSourceInterceptorHandler() throws Exception {
-        MessageFactory msgFactory = new MessageFactoryImpl();
-
-        JavaContextFactoryBuilder javaBuilder = new 
JavaContextFactoryBuilder();
-        javaBuilder.setMessageFactory(msgFactory);
-        javaBuilder.setProxyFactoryFactory(new JDKProxyFactoryFactory());
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder javaBuilder = new 
JavaContextFactoryBuilder(wireService);
 
         MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
         MockInterceptorBuilder interceptorBuilder = new 
MockInterceptorBuilder(mockInterceptor, true);
@@ -136,11 +130,8 @@
     }
 
     public void testRefWithTargetInterceptorHandler() throws Exception {
-        MessageFactory msgFactory = new MessageFactoryImpl();
-
-        JavaContextFactoryBuilder javaBuilder = new 
JavaContextFactoryBuilder();
-        javaBuilder.setMessageFactory(msgFactory);
-        javaBuilder.setProxyFactoryFactory(new JDKProxyFactoryFactory());
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder javaBuilder = new 
JavaContextFactoryBuilder(wireService);
 
         MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
         MockInterceptorBuilder interceptorBuilder = new 
MockInterceptorBuilder(mockInterceptor, false);
@@ -176,11 +167,8 @@
     }
 
     public void testRefWithTargetInterceptor() throws Exception {
-        MessageFactory msgFactory = new MessageFactoryImpl();
-
-        JavaContextFactoryBuilder javaBuilder = new 
JavaContextFactoryBuilder();
-        javaBuilder.setMessageFactory(msgFactory);
-        javaBuilder.setProxyFactoryFactory(new JDKProxyFactoryFactory());
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder javaBuilder = new 
JavaContextFactoryBuilder(wireService);
 
         MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
         MockInterceptorBuilder interceptorBuilder = new 
MockInterceptorBuilder(mockInterceptor, false);

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=395800&r1=395799&r2=395800&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
 Fri Apr 21 00:03:23 2006
@@ -75,6 +75,12 @@
 import org.apache.tuscany.core.system.builder.SystemEntryPointBuilder;
 import org.apache.tuscany.core.system.builder.SystemExternalServiceBuilder;
 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.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
 import org.apache.tuscany.model.assembly.AssemblyContext;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 import org.apache.tuscany.model.assembly.Component;
@@ -102,6 +108,12 @@
 
     public static final String JAVA_BUILDER = "java.runtime.builder";
 
+    public static final String MESSAGE_FACTORY = "java.runtime.messageFactory";
+
+    public static final String PROXY_FACTORY_FACTORY = 
"java.runtime.proxyFactoryFactory";
+
+    public static final String WIRE_FACTORY_SERVICE = 
"java.runtime.wireFactoryservice";
+
     public static final String JAVA_WIRE_BUILDER = "java.wire.builder";
 
     public static final String FOO_BUILDER = "foo.binding.builder";
@@ -655,9 +667,8 @@
             }
         }
         boolean stateless = (scope == Scope.INSTANCE);
-        JavaAtomicContext context = new JavaAtomicContext("foo", new 
PojoObjectFactory(JavaIntrospectionHelper
+        return new JavaAtomicContext("foo", new 
PojoObjectFactory(JavaIntrospectionHelper
                 .getDefaultConstructor(implType), null, injectors), eagerInit, 
initInvoker, destroyInvoker, stateless);
-        return context;
     }
 
     /**
@@ -673,6 +684,9 @@
         runtime.start();
         
runtime.getSystemContext().registerModelObject(createSystemCompositeComponent(SYSTEM_CHILD));
         SystemCompositeContext ctx = (SystemCompositeContext) 
runtime.getSystemContext().getContext(SYSTEM_CHILD);
+        
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(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()));

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicModuleScopeTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicModuleScopeTestCase.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicModuleScopeTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicModuleScopeTestCase.java
 Fri Apr 21 00:03:23 2006
@@ -30,6 +30,10 @@
 import org.apache.tuscany.core.context.event.ModuleStop;
 import org.apache.tuscany.core.context.impl.EventContextImpl;
 import org.apache.tuscany.core.context.scope.ModuleScopeContext;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 
@@ -103,9 +107,10 @@
         scope.stop();
     }
 
-    JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder();
 
     private List<ContextFactory<Context>> createConfigurations() throws 
BuilderException {
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
         AtomicComponent component = 
MockFactory.createComponent("TestService1", ModuleScopeComponentImpl.class, 
Scope.MODULE);
         builder.build(component);
         List<ContextFactory<Context>> configs = new 
ArrayList<ContextFactory<Context>>();
@@ -114,6 +119,8 @@
     }
 
     private ContextFactory<Context> createConfiguration(String name) throws 
BuilderException {
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
         AtomicComponent component = MockFactory.createComponent(name, 
ModuleScopeInitDestroyComponent.class,
                 Scope.MODULE);
         builder.build(component);

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicRequestScopeTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicRequestScopeTestCase.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicRequestScopeTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicRequestScopeTestCase.java
 Fri Apr 21 00:03:23 2006
@@ -33,6 +33,10 @@
 import org.apache.tuscany.core.context.event.RequestEnd;
 import org.apache.tuscany.core.context.impl.EventContextImpl;
 import org.apache.tuscany.core.context.scope.RequestScopeContext;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 
@@ -128,15 +132,12 @@
         scope.stop();
     }
 
-    // ----------------------------------
-    // Private methods
-    // ----------------------------------
-
-    JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder();
 
     private List<ContextFactory<Context>> createConfigurations() throws 
BuilderException {
         AtomicComponent component = 
MockFactory.createComponent("TestService1", RequestScopeComponentImpl.class,
                 Scope.REQUEST);
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
         builder.build(component);
         List<ContextFactory<Context>> configs = new 
ArrayList<ContextFactory<Context>>();
         configs.add((ContextFactory<Context>) component.getContextFactory());
@@ -146,6 +147,8 @@
     private ContextFactory<Context> createConfiguration(String name) throws 
BuilderException {
         AtomicComponent component = MockFactory.createComponent(name, 
RequestScopeComponentImpl.class,
                 Scope.REQUEST);
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
         builder.build(component);
         return (ContextFactory<Context>) component.getContextFactory();
     }

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicSessionScopeTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicSessionScopeTestCase.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicSessionScopeTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicSessionScopeTestCase.java
 Fri Apr 21 00:03:23 2006
@@ -36,6 +36,10 @@
 import org.apache.tuscany.core.context.event.HttpSessionEvent;
 import org.apache.tuscany.core.context.impl.EventContextImpl;
 import org.apache.tuscany.core.context.scope.SessionScopeContext;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 
@@ -205,9 +209,9 @@
         scope.stop();
     }
 
-    JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder();
-
     private List<ContextFactory<Context>> createConfigurations() throws 
BuilderException {
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
         AtomicComponent component = 
MockFactory.createComponent("TestService1", SessionScopeComponentImpl.class, 
Scope.SESSION);
         builder.build(component);
         List<ContextFactory<Context>> configs = new 
ArrayList<ContextFactory<Context>>();
@@ -216,6 +220,8 @@
     }
 
     private ContextFactory<Context> createConfiguration(String name) throws 
BuilderException {
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
         AtomicComponent component = MockFactory.createComponent(name, 
SessionScopeInitDestroyComponent.class, Scope.SESSION);
         builder.build(component);
         return (ContextFactory<Context>) component.getContextFactory();

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicStatelessScopeTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicStatelessScopeTestCase.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicStatelessScopeTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/BasicStatelessScopeTestCase.java
 Fri Apr 21 00:03:23 2006
@@ -32,6 +32,10 @@
 import org.apache.tuscany.core.context.Context;
 import org.apache.tuscany.core.context.impl.EventContextImpl;
 import org.apache.tuscany.core.context.scope.StatelessScopeContext;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 
@@ -98,16 +102,12 @@
         scope.stop();
     }
 
-    // ----------------------------------
-    // Private methods
-    // ----------------------------------
-
-    JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder();
-
     private List<ContextFactory<Context>> createConfigurations()
             throws NoSuchMethodException, BuilderException {
         AtomicComponent component = 
MockFactory.createComponent("TestService1", StatelessComponentImpl.class,
                 Scope.INSTANCE);
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
         builder.build(component);
         List<ContextFactory<Context>> configs = new ArrayList();
         configs.add((ContextFactory<Context>) component.getContextFactory());
@@ -118,6 +118,8 @@
             throws NoSuchMethodException, BuilderException {
         AtomicComponent component = MockFactory.createComponent(name, 
StatelessComponentImpl.class,
                 Scope.INSTANCE);
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
         builder.build(component);
         return (ContextFactory<Context>) component.getContextFactory();
     }

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/CompositeScopeTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/CompositeScopeTestCase.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/CompositeScopeTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/CompositeScopeTestCase.java
 Fri Apr 21 00:03:23 2006
@@ -36,6 +36,10 @@
 import org.apache.tuscany.core.context.impl.CompositeContextImpl;
 import org.apache.tuscany.core.context.impl.EventContextImpl;
 import org.apache.tuscany.core.context.scope.CompositeScopeContext;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Extensible;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
@@ -162,7 +166,8 @@
      *
      */
     private List<Extensible> createAssembly() throws BuilderException {
-        JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder();
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        JavaContextFactoryBuilder builder = new 
JavaContextFactoryBuilder(wireService);
         AtomicComponent component = 
MockFactory.createComponent("TestService1", ModuleScopeComponentImpl.class, 
Scope.MODULE);
         AtomicComponent sessionComponent = 
MockFactory.createComponent("TestService2", SessionScopeComponentImpl.class,
                 Scope.SESSION);

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/ModuleScopeLifecycleTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/ModuleScopeLifecycleTestCase.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/ModuleScopeLifecycleTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/ModuleScopeLifecycleTestCase.java
 Fri Apr 21 00:03:23 2006
@@ -37,6 +37,10 @@
 import org.apache.tuscany.core.context.event.ModuleStop;
 import org.apache.tuscany.core.context.impl.EventContextImpl;
 import org.apache.tuscany.core.context.scope.ModuleScopeContext;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 import org.apache.tuscany.model.assembly.Scope;
 
@@ -47,6 +51,8 @@
  */
 public class ModuleScopeLifecycleTestCase extends TestCase {
 
+    JavaContextFactoryBuilder builder;
+
     public void testInitDestroy() throws Exception {
         EventContext ctx = new EventContextImpl();
         ModuleScopeContext scope = new ModuleScopeContext(ctx);
@@ -151,11 +157,6 @@
         scope.stop();
     }
 
-    // ----------------------------------
-    // Private methods
-    // ----------------------------------
-
-    JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder();
 
     private List<ContextFactory<Context>> createComponents() throws 
BuilderException {
         AtomicComponent[] ca = new AtomicComponent[3];
@@ -216,5 +217,11 @@
 
         }
         return configs;
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        builder = new JavaContextFactoryBuilder(wireService);
     }
 }

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/RequestScopeLifecycleTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/RequestScopeLifecycleTestCase.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/RequestScopeLifecycleTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/RequestScopeLifecycleTestCase.java
 Fri Apr 21 00:03:23 2006
@@ -34,6 +34,10 @@
 import org.apache.tuscany.core.context.event.RequestEnd;
 import org.apache.tuscany.core.context.impl.EventContextImpl;
 import org.apache.tuscany.core.context.scope.RequestScopeContext;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 
@@ -106,11 +110,8 @@
         scope.stop();
     }
 
-    // ----------------------------------
-    // Private methods
-    // ----------------------------------
 
-    JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder();
+    JavaContextFactoryBuilder builder;
 
     private List<ContextFactory<Context>> createComponents() throws 
BuilderException {
         AtomicComponent[] ca = new AtomicComponent[3];
@@ -142,6 +143,12 @@
 
         }
         return configs;
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        builder = new JavaContextFactoryBuilder(wireService);
     }
 
 }

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/SessionScopeLifecycleTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/SessionScopeLifecycleTestCase.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/SessionScopeLifecycleTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/SessionScopeLifecycleTestCase.java
 Fri Apr 21 00:03:23 2006
@@ -35,6 +35,10 @@
 import org.apache.tuscany.core.context.event.HttpSessionEvent;
 import org.apache.tuscany.core.context.impl.EventContextImpl;
 import org.apache.tuscany.core.context.scope.SessionScopeContext;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 
@@ -117,11 +121,7 @@
         scope.stop();
     }
 
-    // ----------------------------------
-    // Private methods
-    // ----------------------------------
-
-    JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder();
+    JavaContextFactoryBuilder builder;
 
     private List<ContextFactory<Context>> createComponents() throws 
BuilderException {
         AtomicComponent[] ca = new AtomicComponent[3];
@@ -154,4 +154,10 @@
         return configs;
     }
 
+    protected void setUp() throws Exception {
+        super.setUp();
+        WireFactoryService wireService = new DefaultWireFactoryService(new 
MessageFactoryImpl(), new JDKProxyFactoryFactory());
+        builder = new JavaContextFactoryBuilder(wireService);
+    }
+    
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StAXLoaderRegistryImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StAXLoaderRegistryImpl.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StAXLoaderRegistryImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StAXLoaderRegistryImpl.java
 Fri Apr 21 00:03:23 2006
@@ -57,7 +57,9 @@
         monitor.elementLoad(name);
         StAXElementLoader<? extends AssemblyObject> loader = loaders.get(name);
         if (loader == null) {
-            throw new ConfigurationLoadException("Unrecognized element: " + 
name);
+            ConfigurationLoadException e = new 
ConfigurationLoadException("Unrecognized element");
+            e.setIdentifier(name.toString());
+            throw e;
         } else {
             return loader.load(reader, resourceLoader);
         }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/message/impl/MessageFactoryImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/message/impl/MessageFactoryImpl.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/message/impl/MessageFactoryImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/message/impl/MessageFactoryImpl.java
 Fri Apr 21 00:03:23 2006
@@ -18,16 +18,23 @@
 
 import org.apache.tuscany.core.message.Message;
 import org.apache.tuscany.core.message.MessageFactory;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Init;
 
 /**
  * The default message factory
  *
  * @version $Rev$ $Date$
  */
[EMAIL PROTECTED]("MODULE")
 public class MessageFactoryImpl implements MessageFactory {
 
     public MessageFactoryImpl() {
         super();
+    }
+
+    @Init(eager = true)
+    public void init(){
     }
 
     public Message createMessage() {

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKProxyFactoryFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKProxyFactoryFactory.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKProxyFactoryFactory.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKProxyFactoryFactory.java
 Fri Apr 21 00:03:23 2006
@@ -16,6 +16,8 @@
 import org.apache.tuscany.core.wire.ProxyFactoryFactory;
 import org.apache.tuscany.core.wire.TargetWireFactory;
 import org.apache.tuscany.core.wire.SourceWireFactory;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Init;
 
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Proxy;
@@ -25,9 +27,14 @@
  * 
  * @version $Rev$ $Date$
  */
[EMAIL PROTECTED]("MODULE")
 public class JDKProxyFactoryFactory implements ProxyFactoryFactory {
 
     public JDKProxyFactoryFactory() {
+    }
+
+    @Init(eager = true)
+    public void init(){
     }
 
     public TargetWireFactory createTargetWireFactory() {

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/DefaultWireFactoryService.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/DefaultWireFactoryService.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/DefaultWireFactoryService.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/DefaultWireFactoryService.java
 Fri Apr 21 00:03:23 2006
@@ -25,7 +25,9 @@
 import org.apache.tuscany.core.wire.TargetWireFactory;
 import org.apache.tuscany.core.wire.WireSourceConfiguration;
 import org.apache.tuscany.core.wire.WireTargetConfiguration;
+import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
 
 import java.lang.reflect.Method;
 import java.util.HashMap;
@@ -38,10 +40,20 @@
  * @version $$Rev$$ $$Date$$
  */
 @Scope("MODULE")
[EMAIL PROTECTED](interfaces = {WireFactoryService.class})
 public class DefaultWireFactoryService implements WireFactoryService {
 
     private MessageFactory messageFactory;
 
+    public DefaultWireFactoryService(){
+
+    }
+
+    public DefaultWireFactoryService(MessageFactory 
messageFactory,ProxyFactoryFactory proxyFactory){
+        this.messageFactory = messageFactory;
+        this.proxyFactory = proxyFactory;
+    }
+
     @Autowire
     public void setMessageFactory(MessageFactory messageFactory) {
         this.messageFactory = messageFactory;
@@ -52,6 +64,10 @@
     @Autowire
     public void setProxyFactory(ProxyFactoryFactory proxyFactory) {
         this.proxyFactory = proxyFactory;
+    }
+
+    @Init(eager = true)
+    public void init() {
     }
 
     public SourceWireFactory createSourceFactory(String referenceName, 
QualifiedName targetName, Class interfaze) {

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/WireFactoryService.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/WireFactoryService.java?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/WireFactoryService.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/service/WireFactoryService.java
 Fri Apr 21 00:03:23 2006
@@ -16,6 +16,7 @@
 import org.apache.tuscany.core.context.QualifiedName;
 import org.apache.tuscany.core.wire.SourceWireFactory;
 import org.apache.tuscany.core.wire.TargetWireFactory;
+import org.osoa.sca.annotations.Service;
 
 /**
  * Implementations are responsible for providing a system service that creates 
[EMAIL PROTECTED] org.apache.tuscany.core.wire.SourceWireFactory}s

Modified: incubator/tuscany/java/sca/core/src/main/resources/system.module
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/resources/system.module?rev=395800&r1=395799&r2=395800&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/resources/system.module (original)
+++ incubator/tuscany/java/sca/core/src/main/resources/system.module Fri Apr 21 
00:03:23 2006
@@ -50,4 +50,17 @@
     <component name="org.apache.tuscany.core.loader.assembly.ServiceLoader">
         <system:implementation.system 
class="org.apache.tuscany.core.loader.assembly.ServiceLoader"/>
     </component>
+
+    <component 
name="org.apache.tuscany.core.wire.service.internal.WireFactoryService">
+        <system:implementation.system 
class="org.apache.tuscany.core.wire.service.DefaultWireFactoryService"/>
+    </component>
+
+    <component name="org.apache.tuscany.core.message.MessageFactory">
+         <system:implementation.system 
class="org.apache.tuscany.core.message.impl.MessageFactoryImpl"/>
+    </component>
+
+    <component name="org.apache.tuscany.core.wire.ProxyFactoryFactory">
+         <system:implementation.system 
class="org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory"/>
+     </component>
+
 </module>


Reply via email to