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 [2/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...

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingBuilder.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/binding/foo/FooBindingBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingBuilder.java Sun Apr 23 08:27:42 2006
@@ -18,7 +18,6 @@
 import org.apache.tuscany.core.builder.ContextFactoryBuilderRegistry;
 import org.apache.tuscany.core.builder.ObjectFactory;
 import org.apache.tuscany.core.builder.impl.EntryPointContextFactory;
-import org.apache.tuscany.core.context.QualifiedName;
 import org.apache.tuscany.core.injection.ObjectCreationException;
 import org.apache.tuscany.core.message.MessageFactory;
 import org.apache.tuscany.core.system.annotation.Autowire;
@@ -46,9 +45,6 @@
 
     private WireFactoryService wireFactoryService;
 
-    /* the top-level builder responsible for evaluating policies */
-    //private HierarchicalBuilder policyBuilder = new HierarchicalBuilder();
-
     public FooBindingBuilder(WireFactoryService wireFactoryService) {
         this.wireFactoryService = wireFactoryService;
     }
@@ -56,12 +52,6 @@
     public FooBindingBuilder() {
     }
 
-    @Autowire
-    public void setWireFactoryService(WireFactoryService wireFactoryService) {
-        this.wireFactoryService = wireFactoryService;
-    }
-
-
     @Init(eager = true)
     public void init() {
         builderRegistry.register(this);
@@ -72,6 +62,12 @@
         this.builderRegistry = builderRegistry;
     }
 
+    @Autowire
+    public void setWireFactoryService(WireFactoryService wireFactoryService) {
+        this.wireFactoryService = wireFactoryService;
+    }
+
+    
     /**
      * Sets the factory used to construct wire messages
      *
@@ -82,14 +78,6 @@
         this.messageFactory = msgFactory;
     }
 
-    /**
-     * 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);
-//    }
     public void build(AssemblyObject object) throws BuilderException {
         if (object instanceof EntryPoint) {
             EntryPoint ep = (EntryPoint) object;
@@ -99,24 +87,20 @@
             EntryPointContextFactory contextFactory = new FooEntryPointContextFactory(ep.getName(), messageFactory);
             ConfiguredService configuredService = ep.getConfiguredService();
             Service service = configuredService.getPort();
-            QualifiedName qName = new QualifiedName(ep.getConfiguredReference().getTargetConfiguredServices().get(0).getPart().getName() + '/' + service.getName());
-            SourceWireFactory wireFactory = wireFactoryService.createSourceFactory(qName, ep.getConfiguredService());
-            contextFactory.addSourceProxyFactory(service.getName(), wireFactory);
+            SourceWireFactory wireFactory = wireFactoryService.createSourceFactory(ep.getConfiguredReference()).get(0);
+            contextFactory.addSourceWireFactory(service.getName(), wireFactory);
             ep.setContextFactory(contextFactory);
-
         } else if (object instanceof ExternalService) {
             ExternalService es = (ExternalService) object;
             if (es.getBindings().size() < 1 || !(es.getBindings().get(0) instanceof FooBinding)) {
                 return;
             }
-
             FooExternalServiceContextFactory contextFactory = new FooExternalServiceContextFactory(es.getName(),
                     new FooClientFactory());
-
             ConfiguredService configuredService = es.getConfiguredService();
             Service service = configuredService.getPort();
             TargetWireFactory wireFactory = wireFactoryService.createTargetFactory(configuredService);
-            contextFactory.addTargetProxyFactory(service.getName(), wireFactory);
+            contextFactory.addTargetWireFactory(service.getName(), wireFactory);
             es.setContextFactory(contextFactory);
         }
     }

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooExternalServiceContextFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooExternalServiceContextFactory.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/binding/foo/FooExternalServiceContextFactory.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooExternalServiceContextFactory.java Sun Apr 23 08:27:42 2006
@@ -14,7 +14,7 @@
 package org.apache.tuscany.container.java.mock.binding.foo;
 
 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} configured with the appropriate
@@ -23,7 +23,7 @@
  * 
  * @version $Rev$ $Date$
  */
-public class FooExternalServiceContextFactory extends BaseExternalServiceContextFactory {
+public class FooExternalServiceContextFactory extends ExternalServiceContextFactory {
 
     public FooExternalServiceContextFactory(String name, ObjectFactory objectFactory) {
         super(name, objectFactory);

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=396284&r1=396283&r2=396284&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 Sun Apr 23 08:27:42 2006
@@ -34,7 +34,7 @@
 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.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
@@ -112,7 +112,7 @@
 
     private List<ContextFactory<Context>> createConfigurations() throws BuilderException {
         PolicyBuilderRegistry policyRegistry = new DefaultPolicyBuilderRegistry();
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), policyRegistry);
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), policyRegistry);
         JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder(wireService);
         AtomicComponent component = MockFactory.createComponent("TestService1", ModuleScopeComponentImpl.class, Scope.MODULE);
         builder.build(component);
@@ -123,7 +123,7 @@
 
     private ContextFactory<Context> createConfiguration(String name) throws BuilderException {
         PolicyBuilderRegistry policyRegistry = new DefaultPolicyBuilderRegistry();
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), policyRegistry);
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), policyRegistry);
         JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder(wireService);
         AtomicComponent component = MockFactory.createComponent(name, ModuleScopeInitDestroyComponent.class,
                 Scope.MODULE);

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=396284&r1=396283&r2=396284&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 Sun Apr 23 08:27:42 2006
@@ -36,7 +36,7 @@
 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.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
@@ -137,7 +137,7 @@
     private List<ContextFactory<Context>> createConfigurations() throws BuilderException {
         AtomicComponent component = MockFactory.createComponent("TestService1", RequestScopeComponentImpl.class,
                 Scope.REQUEST);
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), new DefaultPolicyBuilderRegistry());
         JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder(wireService);
         builder.build(component);
         List<ContextFactory<Context>> configs = new ArrayList<ContextFactory<Context>>();
@@ -148,7 +148,7 @@
     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(), new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), new DefaultPolicyBuilderRegistry());
         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=396284&r1=396283&r2=396284&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 Sun Apr 23 08:27:42 2006
@@ -39,7 +39,7 @@
 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.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
@@ -211,7 +211,7 @@
     }
 
     private List<ContextFactory<Context>> createConfigurations() throws BuilderException {
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), new DefaultPolicyBuilderRegistry());
         JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder(wireService);
         AtomicComponent component = MockFactory.createComponent("TestService1", SessionScopeComponentImpl.class, Scope.SESSION);
         builder.build(component);
@@ -221,7 +221,7 @@
     }
 
     private ContextFactory<Context> createConfiguration(String name) throws BuilderException {
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(),new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(),new DefaultPolicyBuilderRegistry());
         JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder(wireService);
         AtomicComponent component = MockFactory.createComponent(name, SessionScopeInitDestroyComponent.class, Scope.SESSION);
         builder.build(component);

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=396284&r1=396283&r2=396284&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 Sun Apr 23 08:27:42 2006
@@ -35,7 +35,7 @@
 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.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
@@ -107,7 +107,7 @@
             throws NoSuchMethodException, BuilderException {
         AtomicComponent component = MockFactory.createComponent("TestService1", StatelessComponentImpl.class,
                 Scope.INSTANCE);
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), new DefaultPolicyBuilderRegistry());
         JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder(wireService);
         builder.build(component);
         List<ContextFactory<Context>> configs = new ArrayList();
@@ -119,7 +119,7 @@
             throws NoSuchMethodException, BuilderException {
         AtomicComponent component = MockFactory.createComponent(name, StatelessComponentImpl.class,
                 Scope.INSTANCE);
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(),new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(),new DefaultPolicyBuilderRegistry());
         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=396284&r1=396283&r2=396284&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 Sun Apr 23 08:27:42 2006
@@ -39,7 +39,7 @@
 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.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Extensible;
 import org.apache.tuscany.model.assembly.Scope;
@@ -167,7 +167,7 @@
      *
      */
     private List<Extensible> createAssembly() throws BuilderException {
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), new DefaultPolicyBuilderRegistry());
         JavaContextFactoryBuilder builder = new JavaContextFactoryBuilder(wireService);
         AtomicComponent component = MockFactory.createComponent("TestService1", ModuleScopeComponentImpl.class, Scope.MODULE);
         AtomicComponent sessionComponent = MockFactory.createComponent("TestService2", SessionScopeComponentImpl.class,

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=396284&r1=396283&r2=396284&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 Sun Apr 23 08:27:42 2006
@@ -40,7 +40,7 @@
 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.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.AtomicComponent;
 import org.apache.tuscany.model.assembly.Scope;
@@ -222,7 +222,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), new DefaultPolicyBuilderRegistry());
         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=396284&r1=396283&r2=396284&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 Sun Apr 23 08:27:42 2006
@@ -37,7 +37,7 @@
 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.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
@@ -148,7 +148,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(), new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), new DefaultPolicyBuilderRegistry());
         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=396284&r1=396283&r2=396284&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 Sun Apr 23 08:27:42 2006
@@ -38,7 +38,7 @@
 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.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.AtomicComponent;
@@ -157,7 +157,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
-        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKProxyFactoryFactory(),new DefaultPolicyBuilderRegistry());
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(),new DefaultPolicyBuilderRegistry());
         builder = new JavaContextFactoryBuilder(wireService);
     }
 

Modified: incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptContextFactoryBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptContextFactoryBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptContextFactoryBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptContextFactoryBuilder.java Sun Apr 23 08:27:42 2006
@@ -16,11 +16,7 @@
  */
 package org.apache.tuscany.container.js.builder;
 
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
+import commonj.sdo.helper.TypeHelper;
 import org.apache.tuscany.container.js.assembly.JavaScriptImplementation;
 import org.apache.tuscany.container.js.config.JavaScriptContextFactory;
 import org.apache.tuscany.container.js.rhino.RhinoE4XScript;
@@ -28,18 +24,10 @@
 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.context.QualifiedName;
-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.wire.TargetInvocationConfiguration;
-import org.apache.tuscany.core.wire.SourceInvocationConfiguration;
+import org.apache.tuscany.core.system.annotation.Autowire;
 import org.apache.tuscany.core.wire.SourceWireFactory;
 import org.apache.tuscany.core.wire.TargetWireFactory;
-import org.apache.tuscany.core.message.MessageFactory;
-import org.apache.tuscany.core.system.annotation.Autowire;
+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;
@@ -48,26 +36,31 @@
 import org.apache.tuscany.model.assembly.Implementation;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.assembly.Service;
-import org.apache.tuscany.model.assembly.ServiceContract;
 import org.osoa.sca.annotations.Init;
 
-import commonj.sdo.helper.TypeHelper;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
- * Builds {@link org.apache.tuscany.container.js.config.JavaScriptContextFactory}s from a JavaScript
- * component type
- * 
+ * Builds {@link org.apache.tuscany.container.js.config.JavaScriptContextFactory}s from a JavaScript component type
+ *
  * @version $Rev$ $Date$
  */
 @org.osoa.sca.annotations.Scope("MODULE")
 public class JavaScriptContextFactoryBuilder implements ContextFactoryBuilder {
-    private ContextFactoryBuilderRegistry builderRegistry;
-
-    private ProxyFactoryFactory factory;
 
-    private MessageFactory msgFactory;
+    private ContextFactoryBuilderRegistry builderRegistry;
+    private WireFactoryService wireFactoryService;
 
-    private ContextFactoryBuilder referenceBuilder;
+    /**
+     * Constructs a new instance
+     *
+     * @param wireFactoryService the system service responsible for creating wire factories
+     */
+    public JavaScriptContextFactoryBuilder(WireFactoryService wireFactoryService) {
+        this.wireFactoryService = wireFactoryService;
+    }
 
     public JavaScriptContextFactoryBuilder() {
     }
@@ -83,30 +76,11 @@
     }
 
     /**
-     * Sets the factory used to construct proxies implmementing the business interface required by a reference
-     */
-    @Autowire
-    public void setProxyFactoryFactory(ProxyFactoryFactory factory) {
-        this.factory = factory;
-    }
-
-    /**
-     * Sets the factory used to construct wire messages
+     * Sets the system service used to construct wire factories
      */
     @Autowire
-    public void setMessageFactory(MessageFactory msgFactory) {
-        this.msgFactory = 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 that operate on specific
-     * metadata used to construct and wire chain.
-     * 
-     * @see org.apache.tuscany.core.builder.impl.HierarchicalBuilder
-     */
-    public void setReferenceBuilder(ContextFactoryBuilder builder) {
-        this.referenceBuilder = builder;
+    public void setWireFactoryService(WireFactoryService wireFactoryService) {
+        this.wireFactoryService = wireFactoryService;
     }
 
     public void build(AssemblyObject modelObject) throws BuilderException {
@@ -119,23 +93,21 @@
         }
     }
 
-	private void buildJavaScriptComponent(AtomicComponent component, JavaScriptImplementation impl) {
-
+    private void buildJavaScriptComponent(AtomicComponent component, JavaScriptImplementation impl) {
         Scope scope = impl.getComponentInfo().getServices().get(0).getServiceContract().getScope();
-
         Map<String, Class> services = new HashMap<String, Class>();
-		for (Service service : impl.getComponentInfo().getServices()) {
-		    services.put(service.getName(), service.getServiceContract().getInterface());
-		}
+        for (Service service : impl.getComponentInfo().getServices()) {
+            services.put(service.getName(), service.getServiceContract().getInterface());
+        }
 
         Map<String, Object> defaultProperties = new HashMap<String, Object>();
-        for (org.apache.tuscany.model.assembly.Property property: impl.getComponentInfo().getProperties()) {
+        for (org.apache.tuscany.model.assembly.Property property : impl.getComponentInfo().getProperties()) {
             defaultProperties.put(property.getName(), property.getDefaultValue());
         }
 
-		String script = impl.getScript();
+        String script = impl.getScript();
         ClassLoader cl = impl.getResourceLoader().getClassLoader();
-        
+
         RhinoScript invoker;
         if ("e4x".equalsIgnoreCase(impl.getStyle())) {  // TODO is constant "e4x" somewhere?
             TypeHelper typeHelper = component.getComposite().getAssemblyContext().getTypeHelper();
@@ -153,73 +125,37 @@
         }
 
         JavaScriptContextFactory contextFactory = new JavaScriptContextFactory(component.getName(),
-		        scope, services, properties, invoker);
+                scope, services, properties, invoker);
 
-		addTargetInvocationChains(component, contextFactory);
-		addComponentReferences(component, contextFactory);
-		component.setContextFactory(contextFactory);
-	}
+        addTargetInvocationChains(component, contextFactory);
+        addComponentReferences(component, contextFactory);
+        component.setContextFactory(contextFactory);
+    }
 
     /**
      * Add target-side wire chains for each service offered by the implementation
      */
-	private void addTargetInvocationChains(AtomicComponent component, JavaScriptContextFactory config) {
-		for (ConfiguredService configuredService : component.getConfiguredServices()) {
-		    Service service = configuredService.getPort();
-		    ServiceContract contract = service.getServiceContract();
-		    Map<Method, TargetInvocationConfiguration> iConfigMap = new MethodHashMap<TargetInvocationConfiguration>();
-		    TargetWireFactory proxyFactory = factory.createTargetWireFactory();
-		    for (Method method : contract.getInterface().getMethods()) {
-		        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, contract.getInterface()
-                    .getClassLoader(), msgFactory);
-		    proxyFactory.setBusinessInterface(contract.getInterface());
-		    proxyFactory.setConfiguration(wireConfiguration);
-		    configuredService.setProxyFactory(proxyFactory);
-		    if (referenceBuilder != null) {
-		        // invoke the reference builder to handle target-side metadata
-		        referenceBuilder.build(configuredService);
-		    }
-		    // add tail interceptor
-		    for (TargetInvocationConfiguration iConfig : iConfigMap.values()) {
-		        iConfig.addInterceptor(new InvokerInterceptor());
-		    }
-		    config.addTargetProxyFactory(service.getName(), proxyFactory);
-		}
-	}
-
-	private void addComponentReferences(AtomicComponent component, JavaScriptContextFactory config) {
-		List<ConfiguredReference> configuredReferences = component.getConfiguredReferences();
-		if (configuredReferences != null) {
-		    for (ConfiguredReference reference : configuredReferences) {
-		        SourceWireFactory proxyFactory = factory.createSourceWireFactory();
-		        ServiceContract interfaze = reference.getPort().getServiceContract();
-		        Map<Method, SourceInvocationConfiguration> iConfigMap = new MethodHashMap<SourceInvocationConfiguration>();
-		        for (Method method : interfaze.getInterface().getMethods()) {
-		            SourceInvocationConfiguration iConfig = new SourceInvocationConfiguration(method);
-		            iConfigMap.put(method, iConfig);
-		        }
-		        String targetCompName = reference.getTargetConfiguredServices().get(0).getPart().getName();
-		        String targetSerivceName = reference.getTargetConfiguredServices().get(0).getPort().getName();
-
-		        QualifiedName qName = new QualifiedName(targetCompName + '/' + targetSerivceName);
-                WireSourceConfiguration pConfiguration = new WireSourceConfiguration(reference.getPort().getName(), qName,
-                        iConfigMap, interfaze.getInterface().getClassLoader(), msgFactory);
-		        proxyFactory.setBusinessInterface(interfaze.getInterface());
-		        proxyFactory.setConfiguration(pConfiguration);
-                //FIXME multiplicity support
-                reference.getTargetConfiguredServices().get(0).setProxyFactory(proxyFactory);
-		        if (referenceBuilder != null) {
-		            // invoke the reference builder to handle metadata associated with the reference
-		            referenceBuilder.build(reference);
-		        }
-		        config.addSourceProxyFactory(reference.getPort().getName(), proxyFactory);
-		    }
-		}
-	}
+    private void addTargetInvocationChains(AtomicComponent component, JavaScriptContextFactory contextFactory) {
+        for (ConfiguredService configuredService : component.getConfiguredServices()) {
+            Service service = configuredService.getPort();
+            TargetWireFactory wireFactory = wireFactoryService.createTargetFactory(configuredService);
+            contextFactory.addTargetWireFactory(service.getName(), wireFactory);
+        }
+    }
+
+    private void addComponentReferences(AtomicComponent component, JavaScriptContextFactory contextFactory) {
+        List<ConfiguredReference> configuredReferences = component.getConfiguredReferences();
+        if (configuredReferences != null) {
+            for (ConfiguredReference reference : configuredReferences) {
+                String refName = reference.getPort().getName();
+                // iterate through the targets
+                List<SourceWireFactory> wirefactories = wireFactoryService.createSourceFactory(reference);
+                for (SourceWireFactory wireFactory : wirefactories) {
+                    contextFactory.addSourceWireFactory(refName, wireFactory);
+                }
+
+            }
+        }
+    }
 
 }

Modified: incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptTargetWireBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptTargetWireBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptTargetWireBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptTargetWireBuilder.java Sun Apr 23 08:27:42 2006
@@ -18,76 +18,28 @@
 
 import org.apache.tuscany.container.js.config.JavaScriptContextFactory;
 import org.apache.tuscany.container.js.rhino.RhinoTargetInvoker;
-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.TargetInvocationConfiguration;
-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;
 
 /**
- * Responsible for bridging source- and target-side invocations chains when the target type is a JavaScript
- * implementation
- * 
+ * Responsible for bridging source- and target-side invocations chains when the target type is a JavaScript implementation
+ *
  * @version $Rev$ $Date$
  */
 @Scope("MODULE")
-public class JavaScriptTargetWireBuilder implements WireBuilder {
+public class JavaScriptTargetWireBuilder extends WireBuilderSupport {
 
-    private RuntimeContext runtimeContext;
-
-    @Autowire
-    public void setRuntimeContext(RuntimeContext context) {
-        runtimeContext = context;
-    }
-
-    public JavaScriptTargetWireBuilder() {
-    }
-
-    @Init(eager=true)
-    public void init() {
-        runtimeContext.addBuilder(this);
-    }
-
-    public void connect(SourceWireFactory sourceFactory, TargetWireFactory targetFactory, Class targetType, boolean downScope,
-            ScopeContext targetScopeContext) throws BuilderConfigException {
-        if (!(JavaScriptContextFactory.class.isAssignableFrom(targetType))) {
-            return;
-        }
-        for (SourceInvocationConfiguration sourceInvocationConfig : sourceFactory.getConfiguration().getInvocationConfigurations()
-                .values()) {
-            Method method = sourceInvocationConfig.getMethod();
-            String serviceName = sourceFactory.getConfiguration().getTargetName().getPartName();
-            RhinoTargetInvoker invoker = new RhinoTargetInvoker(serviceName, method, 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);
-        }
+    protected boolean handlesTargetType(Class targetType) {
+        return JavaScriptContextFactory.class.isAssignableFrom(targetType);
     }
 
-    public void completeTargetChain(TargetWireFactory targetFactory, Class targetType, ScopeContext targetScopeContext)
-            throws BuilderConfigException {
-        if (!(JavaScriptContextFactory.class.isAssignableFrom(targetType))) {
-            return;
-        }
-        for (TargetInvocationConfiguration targetInvocationConfig : targetFactory.getConfiguration().getInvocationConfigurations()
-                .values()) {
-            Method method = targetInvocationConfig.getMethod();
-            String serviceName = targetFactory.getConfiguration().getTargetName().getPartName();
-            RhinoTargetInvoker invoker = new RhinoTargetInvoker(serviceName, method, targetScopeContext);
-            targetInvocationConfig.setTargetInvoker(invoker);
-        }
+    protected TargetInvoker createInvoker(QualifiedName targetName, Method operation, ScopeContext context, boolean downScope) {
+        String serviceName = targetName.getPartName();
+        return new RhinoTargetInvoker(serviceName, operation, context);
     }
-
 }

Modified: incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptContextFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptContextFactory.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptContextFactory.java (original)
+++ incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptContextFactory.java Sun Apr 23 08:27:42 2006
@@ -74,25 +74,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.js/src/main/java/org/apache/tuscany/container/js/rhino/E4XAXIOMUtils.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/rhino/E4XAXIOMUtils.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/rhino/E4XAXIOMUtils.java (original)
+++ incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/rhino/E4XAXIOMUtils.java Sun Apr 23 08:27:42 2006
@@ -49,7 +49,7 @@
 
         // TODO: is this required anymore?
         // // TODO: remove when AXIS2 fixed (its in the gen'd stub code, JIRA?)
-        // omElement.build();
+        // omElement.buildSource();
         // OptimizeExposer.optimizeContent(omElement, new QName[0]);
 
         return omElement;
@@ -62,7 +62,7 @@
 
         // TODO: is this required anymore?
         // // TODO: remove when AXIS2 fixed (its in the gen'd stub code, JIRA?)
-        // omElement.build();
+        // omElement.buildSource();
 
         // XMLStreamReader reader = omElement.getXMLStreamReaderWithoutCaching();
         XMLStreamReader reader = omElement.getXMLStreamReader(); // TODO: cache?

Modified: incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/JSContextFactoryBuilderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/JSContextFactoryBuilderTestCase.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/JSContextFactoryBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/JSContextFactoryBuilderTestCase.java Sun Apr 23 08:27:42 2006
@@ -6,14 +6,19 @@
 import org.apache.tuscany.container.js.assembly.mock.HelloWorldService;
 import org.apache.tuscany.container.js.config.JavaScriptContextFactory;
 import org.apache.tuscany.container.js.mock.MockAssemblyFactory;
+import org.apache.tuscany.container.js.invocation.mock.MockSyncInterceptor;
 import org.apache.tuscany.core.builder.ContextFactory;
+import org.apache.tuscany.core.builder.system.PolicyBuilderRegistry;
+import org.apache.tuscany.core.builder.system.DefaultPolicyBuilderRegistry;
 import org.apache.tuscany.core.context.Context;
 import org.apache.tuscany.core.context.QualifiedName;
 import org.apache.tuscany.core.context.event.ModuleStart;
 import org.apache.tuscany.core.context.impl.EventContextImpl;
 import org.apache.tuscany.core.context.scope.ModuleScopeContext;
-import org.apache.tuscany.core.wire.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.wire.TargetWireFactory;
+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;
 import org.apache.tuscany.model.assembly.AtomicComponent;
@@ -24,20 +29,25 @@
 public class JSContextFactoryBuilderTestCase extends TestCase {
 
     public void testBasicInvocation() throws Exception {
-        JavaScriptContextFactoryBuilder jsBuilder = new JavaScriptContextFactoryBuilder();
-        jsBuilder.setMessageFactory(new MessageFactoryImpl());
-        jsBuilder.setProxyFactoryFactory(new JDKProxyFactoryFactory());
+        MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
+        MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor);
+        PolicyBuilderRegistry policyRegistry = new DefaultPolicyBuilderRegistry();
+        policyRegistry.registerSourceBuilder(interceptorBuilder);
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), policyRegistry);
+        JavaScriptContextFactoryBuilder jsBuilder = new JavaScriptContextFactoryBuilder(wireService);
+
+
         JavaScriptTargetWireBuilder jsWireBuilder = new JavaScriptTargetWireBuilder();
         AtomicComponent component = MockAssemblyFactory.createComponent("foo",
                 "org/apache/tuscany/container/js/assembly/mock/HelloWorldImpl.js", HelloWorldService.class, Scope.MODULE);
         component.initialize(new AssemblyContextImpl(new AssemblyFactoryImpl(), new SCDLAssemblyModelLoaderImpl(), new ResourceLoaderImpl(Thread.currentThread().getContextClassLoader())));
         jsBuilder.build(component);
         ModuleScopeContext context = new ModuleScopeContext(new EventContextImpl());
-        ContextFactory<Context> contextFactory = (ContextFactory) component.getContextFactory();
+        ContextFactory<Context> contextFactory = (ContextFactory<Context>) component.getContextFactory();
         context.registerFactory(contextFactory);
         context.start();
         context.onEvent(new ModuleStart(this));
-        for (TargetWireFactory proxyFactory : contextFactory.getTargetProxyFactories().values()) {
+        for (TargetWireFactory proxyFactory : contextFactory.getTargetWireFactories().values()) {
             jsWireBuilder.completeTargetChain(proxyFactory, JavaScriptContextFactory.class, context);
             proxyFactory.initialize();
         }

Modified: incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/MockInterceptorBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/MockInterceptorBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/MockInterceptorBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/builder/MockInterceptorBuilder.java Sun Apr 23 08:27:42 2006
@@ -13,66 +13,49 @@
  */
 package org.apache.tuscany.container.js.builder;
 
+
 import org.apache.tuscany.core.builder.BuilderException;
-import org.apache.tuscany.core.builder.ContextFactoryBuilder;
+import org.apache.tuscany.core.builder.SourcePolicyBuilder;
+import org.apache.tuscany.core.builder.TargetPolicyBuilder;
 import org.apache.tuscany.core.wire.Interceptor;
 import org.apache.tuscany.core.wire.SourceInvocationConfiguration;
 import org.apache.tuscany.core.wire.TargetInvocationConfiguration;
-import org.apache.tuscany.core.wire.SourceWireFactory;
-import org.apache.tuscany.core.wire.TargetWireFactory;
-import org.apache.tuscany.model.assembly.AssemblyObject;
+import org.apache.tuscany.core.wire.WireSourceConfiguration;
+import org.apache.tuscany.core.wire.WireTargetConfiguration;
 import org.apache.tuscany.model.assembly.ConfiguredReference;
 import org.apache.tuscany.model.assembly.ConfiguredService;
 
+import java.util.List;
+
 /**
  * Adds an interceptor to a source or target proxy configuration
- * 
+ *
  * @version $Rev$ $Date$
  */
-public class MockInterceptorBuilder implements ContextFactoryBuilder {
+public class MockInterceptorBuilder implements SourcePolicyBuilder, TargetPolicyBuilder {
 
     private Interceptor interceptor;
 
-    private boolean source;
-
     /**
      * Creates the builder
-     * 
-     * @param interceptor the interceptor ot add
-     * @param source true if the interceptor should be added to the source side; false if the interceptor should be
-     *        added to the target side
+     *
+     * @param interceptor the interceptor to add
      */
-    public MockInterceptorBuilder(Interceptor interceptor, boolean source) {
+    public MockInterceptorBuilder(Interceptor interceptor) {
         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;
-                TargetWireFactory pFactory = (TargetWireFactory) cservice.getProxyFactory();
-                for (TargetInvocationConfiguration config : 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);
             }
-
         }
     }
 
+    public void build(ConfiguredService service, WireTargetConfiguration configuration) throws BuilderException {
+        for (TargetInvocationConfiguration config : configuration.getInvocationConfigurations().values()) {
+            config.addInterceptor(interceptor);
+        }
+    }
 }

Modified: incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/integration/JSComponentContextTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/integration/JSComponentContextTestCase.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/integration/JSComponentContextTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/integration/JSComponentContextTestCase.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.js.assembly.mock.HelloWorldService;
 import org.apache.tuscany.container.js.builder.JavaScriptContextFactoryBuilder;
 import org.apache.tuscany.container.js.builder.JavaScriptTargetWireBuilder;
@@ -25,43 +25,39 @@
 import org.apache.tuscany.container.js.mock.MockModuleFactory;
 import org.apache.tuscany.core.builder.ContextFactoryBuilderRegistry;
 import org.apache.tuscany.core.builder.impl.DefaultWireBuilder;
-import org.apache.tuscany.core.builder.impl.HierarchicalBuilder;
+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.QualifiedName;
 import org.apache.tuscany.core.context.event.ModuleStart;
 import org.apache.tuscany.core.context.event.ModuleStop;
 import org.apache.tuscany.core.context.impl.CompositeContextImpl;
-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.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.wire.jdk.JDKWireFactoryFactory;
+import org.apache.tuscany.core.wire.service.DefaultWireFactoryService;
+import org.apache.tuscany.core.wire.service.WireFactoryService;
 import org.apache.tuscany.model.assembly.Scope;
-import org.apache.tuscany.common.monitor.impl.NullMonitorFactory;
 
 /**
  * Integration tests for JavaScript components and aggregate contexts
- * 
+ *
  * @version $Rev$ $Date$
  */
 public class JSComponentContextTestCase extends TestCase {
 
     public void testBasicInvocation() throws Exception {
-        MessageFactory msgFactory = new MessageFactoryImpl();
-
-        JavaScriptContextFactoryBuilder javaBuilder = new JavaScriptContextFactoryBuilder();
-        javaBuilder.setMessageFactory(msgFactory);
-        javaBuilder.setProxyFactoryFactory(new JDKProxyFactoryFactory());
-
         MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
-        MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, true);
-        HierarchicalBuilder refBuilder = new HierarchicalBuilder();
-        refBuilder.addBuilder(interceptorBuilder);
-        javaBuilder.setReferenceBuilder(refBuilder);
+        MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor);
+        PolicyBuilderRegistry policyRegistry = new DefaultPolicyBuilderRegistry();
+        policyRegistry.registerSourceBuilder(interceptorBuilder);
+        WireFactoryService wireService = new DefaultWireFactoryService(new MessageFactoryImpl(), new JDKWireFactoryFactory(), policyRegistry);
+        JavaScriptContextFactoryBuilder jsBuilder = new JavaScriptContextFactoryBuilder(wireService);
 
         ContextFactoryBuilderRegistry builderRegistry = BootstrapHelper.bootstrapContextFactoryBuilders(new NullMonitorFactory());
-        builderRegistry.register(javaBuilder);
+        builderRegistry.register(jsBuilder);
         DefaultWireBuilder defaultWireBuilder = new DefaultWireBuilder();
 
         RuntimeContext runtime = new RuntimeContextImpl(null, builderRegistry, defaultWireBuilder);
@@ -76,7 +72,7 @@
 
         HelloWorldService source = (HelloWorldService) child.getContext("source").getInstance(new QualifiedName("./HelloWorldService"));
         Assert.assertNotNull(source);
-        Assert.assertEquals("Hello foo",source.hello("foo"));
+        Assert.assertEquals("Hello foo", source.hello("foo"));
         //Assert.assertEquals(1, mockInterceptor.getCount());
         child.publish(new ModuleStop(this));
         runtime.stop();

Modified: incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/mock/MockAssemblyFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/mock/MockAssemblyFactory.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/mock/MockAssemblyFactory.java (original)
+++ incubator/tuscany/java/sca/containers/container.js/src/test/java/org/apache/tuscany/container/js/mock/MockAssemblyFactory.java Sun Apr 23 08:27:42 2006
@@ -72,10 +72,10 @@
         return sc;
     }
 
-    public static Component createSystemComponent(String name, String type, Scope scope) throws NoSuchMethodException,
+    public static Component createSystemComponent(String name, String type, Scope scope) throws
             ClassNotFoundException {
         Class claz = JavaIntrospectionHelper.loadClass(type);
-        Component sc = null;
+        Component sc;
         if (CompositeContext.class.isAssignableFrom(claz)) {
             sc = systemFactory.createModuleComponent();
         } else {

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactory.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactory.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactory.java Sun Apr 23 08:27:42 2006
@@ -2,35 +2,37 @@
 
 import org.apache.tuscany.core.context.CompositeContext;
 import org.apache.tuscany.core.context.Context;
-import org.apache.tuscany.core.wire.TargetWireFactory;
 import org.apache.tuscany.core.wire.SourceWireFactory;
+import org.apache.tuscany.core.wire.TargetWireFactory;
 import org.apache.tuscany.model.assembly.Scope;
 
 import java.util.List;
 import java.util.Map;
 
 /**
- * Implementations serve the dual purpose of creating instances of {@link org.apache.tuscany.core.context.Context} based
- * on a compiled configuration such as a logical assembly model and holding a
- * {@link org.apache.tuscany.core.wire.WireFactory} for the instance type associated with the context.
- * <p>
- * Context factories are created or "built" in two phases. {@link org.apache.tuscany.core.builder.ContextFactoryBuilder}s
- * are responsible for analyzing a logical model assembly and producing the appropriate <code>ContextFactory</code>
- * for the runtime. {@link org.apache.tuscany.core.builder.WireBuilder}s update the proxy configuration associated with
- * the <code>WireFactory</code> attached to the <code>ContextFactory</code>.
- * <p>
- * <code>ContextFactory</code> implementations also contain the source and target invocations chains associated with
- * all instances of a given <code>Context</code> type. For example, two contexts associated with separate sessions for
- * a component will refer back to the same wire chains held in the <code>WireFactory</code> attached to the
- * <code>ContextFactory</code>.
- * 
+ * Implementations create {@link org.apache.tuscany.core.context.Context}s based on an assembly configuration.
+ * <p/>
+ * Context factories are "built" in two phases. {@link ContextFactoryBuilder}s analyze an assembly, producing
+ * <code>ContextFactory</code>s for {@link org.apache.tuscany.model.assembly.Component}s, {@link
+ * org.apache.tuscany.model.assembly.EntryPoint}s, and {@link org.apache.tuscany.model.assembly.ExternalService}s. During this
+ * phase, {@link org.apache.tuscany.core.wire.WireFactory}s for source- and target-side wires are produced for the
+ * <code>ContextFactory</code>s.  Ê
+ * <p/>
+ * The second build phase connects the source- and target-side <code>WireFactories</code>, thereby completing wire configuration.
+ * <p/>
+ * At runtime, <code>ContextFactory</code>s are called to create new <code>Context</code>s when a new implementation instance is
+ * required for a component, entry point, or external service. The <code>Context</code> is then responsible for instantiating and
+ * managing the actual implementation instance. When a <code>Context</code> creates a new instance, the previously configured
+ * <code>WireFactory</code>s are used to create wires to and from the instance. A wire is a collection of stateless invocation
+ * chains that are managed by the <code>Context</code>'s <code>ContextFactory</code>.
+ *
  * @version $Rev: 385747 $ $Date: 2006-03-13 22:12:53 -0800 (Mon, 13 Mar 2006) $
  */
 public interface ContextFactory<T extends Context> {
 
     /**
      * Creates a <code>Context</code> based on configuration supplied by a logical model assembly
-     * 
+     *
      * @return a new instance context
      * @throws ContextCreationException if an error occurs creating the context
      */
@@ -42,46 +44,43 @@
     public Scope getScope();
 
     /**
-     * Returns the name of the contexts produced by the current factory
+     * Returns the name of the <code>Context</code> produced by the current factory
      */
     public String getName();
 
     /**
-     * Adds a target-side proxy factory for the given service name to the configuration. Target-side proxy factories
-     * contain the wire chains associated with the destination service of a wire and are responsible for
-     * generating proxies
+     * Adds a target-side wire factory for the given service name. Target-side wire factories contain the invocation chains
+     * associated with the destination service of a wire and are responsible for generating proxies
      */
-    public void addTargetProxyFactory(String serviceName, TargetWireFactory factory);
+    public void addTargetWireFactory(String serviceName, TargetWireFactory factory);
 
     /**
-     * Returns the target-side proxy factory associated with the given service name
+     * Returns the target-side wire factory associated with the given service name
      */
-    public TargetWireFactory getTargetProxyFactory(String serviceName);
+    public TargetWireFactory getTargetWireFactory(String serviceName);
 
     /**
-     * Returns a collection of target-side proxy factories for the configuration keyed by service name
+     * Returns a collection of target-side wire factories keyed by service name
      */
-    public Map<String, TargetWireFactory> getTargetProxyFactories();
+    public Map<String, TargetWireFactory> getTargetWireFactories();
 
     /**
-     * Adds a source-side proxy factory for the given reference. Source-side proxy factories contain the wire
-     * chains for a reference in the component implementation associated with the instance context created by this
-     * configuration. Source-side proxy factories also produce proxies that are injected on a reference in a component
-     * implementation.
+     * Adds a source-side wire factory for the given reference. Source-side wire factories contain the invocation chains for a
+     * reference in the implementation associated with the instance context created by this configuration. Source-side wire
+     * factories also produce proxies that are injected on a reference in a component implementation.
      */
-    public void addSourceProxyFactory(String referenceName, SourceWireFactory factory);
+    public void addSourceWireFactory(String referenceName, SourceWireFactory factory);
 
     /**
-     * Returns a collection of source side-proxy factories for component references. There may 1..n proxy factories per
-     * reference.
+     * Returns a collection of source-side wire factories for references. There may 1..n wire factories per reference.
      */
-    public List<SourceWireFactory> getSourceProxyFactories();
+    public List<SourceWireFactory> getSourceWireFactories();
 
     /**
-     * Called to signal to the configuration that its parent context has been activated and that it shoud perform any
-     * required initialization steps
-     * 
-     * @param parent the parent context's configuration
+     * Called to signal to the configuration that its parent context has been activated and that it shoud perform any required
+     * initialization steps
+     *
+     * @param parent the parent context
      */
     public void prepare(CompositeContext parent);
 

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactoryBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactoryBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactoryBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ContextFactoryBuilder.java Sun Apr 23 08:27:42 2006
@@ -3,39 +3,29 @@
 import org.apache.tuscany.model.assembly.AssemblyObject;
 
 /**
- * Implementations perform the first phase of converting a logical model representing an assembly into a series of
- * runtime or executable artifacts. Specifically, <code>ContextFactoryBuilder</code>s are responsible for analyzing
- * logical model elements and producing {@link ContextFactory}s that are used to generate executable artifacts such as
- * an {@link org.apache.tuscany.core.context.Context}. In the case of components, the
- * <code>ContextFactory</code> will typically contain configuration for instantiating implementation instances with
- * injected properties and references; wire chains; and configuration necessary to build proxies to implementation
- * instances.
- * <p>
- * As the logical model is analyzed, <code>ContextFactoryBuilder</code>s are guaranteed to be called first and are
- * expected to decorate the logical model with initial <code>ContextFactory</code>. Certain implementations may
- * choose to delegate tasks to other builders. For example, a builder may handle component implementation types and set
- * up an initial <code>ContextFactory</code> based on introspected metadata specific to the type. It may then choose
- * to delegate to other builders to handle construction of wire chains based on policies specified in the logical
- * model. Delegation may be set up by implementing builders as system components and wiring them to other builders. This
- * allows the creation of builders that may modify wire chains regardless of implementation type, such as generic
- * policy builders.
- * <p>
- * When this first phase is complete, a logical model will be decorated with essentially independent
- * <code>ContextFactory</code>s. The second phase uses {@link WireBuilder}s to analyze wires represented in the
- * logical model and "connect" the source and target wire chains held in these <code>ContextFactory</code>s to
- * form a completed wire.
- * <code>WireBuilder<code>s may use a similar delegation strategy and perform various optimizations.
- * 
+ * The extension point for component types in the runtime. Implementations perform the first phase of converting an assembly model
+ * into a series of runtime artifacts. Specifically, <code>ContextFactoryBuilder</code>s are responsible for analyzing the
+ * assembly model and producing {@link ContextFactory}s that are used to generate executable artifacts such as an {@link
+ * org.apache.tuscany.core.context.Context}. In the case of components, the <code>ContextFactory</code> will typically contain
+ * configuration for instantiating implementation instances with injected properties and references.
+ * <p/>
+ * As the assembly model is analyzed, <code>ContextFactoryBuilder</code>s are guaranteed to be called first and are expected to
+ * decorate the assembly model with <code>ContextFactory</code>s.
+ * <p/>
+ * The second phase uses {@link WireBuilder}s to connect the source and target wire chains held in these
+ * <code>ContextFactory</code>s to form a completed wire. <code>WireBuilder<code>s may use a similar delegation strategy and
+ * perform various optimizations.
+ *
  * @version $Rev$ $Date$
  * @see ContextFactory
- * @see org.apache.tuscany.core.builder.WireBuilder
+ * @see WireBuilder
  */
-public interface ContextFactoryBuilder{
+public interface ContextFactoryBuilder {
 
     /**
-     * Creates or updates a context factory based on configuration contained in the given model object. The model object
-     * is decorated with the factory.
-     * 
+     * Creates or updates a context factory based on configuration contained in the given model object. The model object is
+     * decorated with the factory.
+     *
      * @param object the logical configuration model node
      * @throws BuilderException
      */

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyBuilder.java Sun Apr 23 08:27:42 2006
@@ -14,6 +14,13 @@
 package org.apache.tuscany.core.builder;
 
 /**
+ * A marker for policy extensions in the runtime. Implementations evaluate wire-related policy metadata on a {@link
+ * org.apache.tuscany.model.assembly.ConfiguredReference} or {@link org.apache.tuscany.model.assembly.ConfiguredService} and
+ * contribute {@link org.apache.tuscany.core.wire.Interceptor}s or {@link org.apache.tuscany.core.wire.MessageHandler}s
+ * implementing a policy to {@link org.apache.tuscany.core.wire.InvocationConfiguration}s that are part of a {@link
+ * org.apache.tuscany.core.wire.WireConfiguration}. The contributed <code>Interceptor</code>s or <code>Handler</code>s will be
+ * called as part of an invocation over a wire.
+ *
  * @version $$Rev$$ $$Date$$
  */
 public interface PolicyBuilder {

Added: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyOrderer.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyOrderer.java?rev=396284&view=auto
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyOrderer.java (added)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/PolicyOrderer.java Sun Apr 23 08:27:42 2006
@@ -0,0 +1,26 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package org.apache.tuscany.core.builder;
+
+/**
+ * A marker for implementations that order source- or target-side policy {@link org.apache.tuscany.core.wire.Interceptor}s or
+ * {@link org.apache.tuscany.core.wire.MessageHandler}s in a {@link org.apache.tuscany.core.wire.WireConfiguration}.
+ *
+ * @see SourcePolicyOrderer
+ * @see TargetPolicyOrderer
+ * @version $$Rev$$ $$Date$$
+ */
+public interface PolicyOrderer {
+    
+}

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyBuilder.java Sun Apr 23 08:27:42 2006
@@ -19,6 +19,9 @@
 import java.util.List;
 
 /**
+ * Implementations contribute {@link org.apache.tuscany.core.wire.Interceptor}s or {@link
+ * org.apache.tuscany.core.wire.MessageHandler}s that handle source-side policy on a wire.  
+ *
  * @version $$Rev$$ $$Date$$
  */
 public interface SourcePolicyBuilder extends PolicyBuilder {

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyOrderer.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyOrderer.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyOrderer.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/SourcePolicyOrderer.java Sun Apr 23 08:27:42 2006
@@ -3,11 +3,12 @@
 import org.apache.tuscany.core.wire.WireSourceConfiguration;
 
 /**
- * Implementations order the set of builders that contribute policy to a wire
+ * Implementations order source-side policy {@link org.apache.tuscany.core.wire.Interceptor}s or
+ * {@link org.apache.tuscany.core.wire.MessageHandler}s in a {@link org.apache.tuscany.core.wire.WireConfiguration}.
  *
  * @version $$Rev$$ $$Date$$
  */
-public interface SourcePolicyOrderer {
+public interface SourcePolicyOrderer extends PolicyOrderer{
 
     public void order(WireSourceConfiguration configuration);
 

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyBuilder.java Sun Apr 23 08:27:42 2006
@@ -17,6 +17,9 @@
 import org.apache.tuscany.core.wire.WireTargetConfiguration;
 
 /**
+ * Implementations contribute {@link org.apache.tuscany.core.wire.Interceptor}s or {@link
+ * org.apache.tuscany.core.wire.MessageHandler}s that handle target-side policy on a wire.  
+ *
  * @version $$Rev$$ $$Date$$
  */
 public interface TargetPolicyBuilder extends PolicyBuilder{

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyOrderer.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyOrderer.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyOrderer.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/TargetPolicyOrderer.java Sun Apr 23 08:27:42 2006
@@ -16,12 +16,13 @@
 import org.apache.tuscany.core.wire.WireTargetConfiguration;
 
 /**
- * Implementations order the set of builders that contribute policy to a wire
+ * Implementation order target-side policy {@link org.apache.tuscany.core.wire.Interceptor}s or
+ * {@link org.apache.tuscany.core.wire.MessageHandler}s in a {@link org.apache.tuscany.core.wire.WireConfiguration}.
+
  * @version $$Rev$$ $$Date$$
  */
 public interface TargetPolicyOrderer {
 
     public void order(WireTargetConfiguration configuration);
-
 
 }

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/WireBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/WireBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/WireBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/WireBuilder.java Sun Apr 23 08:27:42 2006
@@ -50,7 +50,7 @@
      *        target service
      * @param targetScopeContext the scope context responsible for managing intance contexts of the target component
      *        type
-     * @throws BuilderConfigException if an error occurs during the wire build process
+     * @throws BuilderConfigException if an error occurs during the wire buildSource process
      */
     public void connect(SourceWireFactory<?> sourceFactory, TargetWireFactory<?> targetFactory, Class targetType, boolean downScope,
                         ScopeContext targetScopeContext) throws BuilderConfigException;
@@ -63,7 +63,7 @@
      * @param targetFactory the target-side proxy factory
      * @param targetType the target context type
      * @param targetScopeContext the target scope
-     * @throws BuilderConfigException if an error occurs during the wire build process
+     * @throws BuilderConfigException if an error occurs during the wire buildSource process
      */
     public void completeTargetChain(TargetWireFactory<?> targetFactory, Class targetType, ScopeContext targetScopeContext)
             throws BuilderConfigException;

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java Sun Apr 23 08:27:42 2006
@@ -92,7 +92,7 @@
         for (WireBuilder builder : builders) {
             builder.connect(sourceFactory, targetFactory, targetType, downScope, targetScopeContext);
         }
-        // signal that wire build process is complete
+        // signal that wire buildSource process is complete
         for (SourceInvocationConfiguration sourceInvocationConfig : sourceFactory.getConfiguration().getInvocationConfigurations()
                 .values()) {
             sourceInvocationConfig.build();

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointContextFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointContextFactory.java?rev=396284&r1=396283&r2=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointContextFactory.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointContextFactory.java Sun Apr 23 08:27:42 2006
@@ -37,7 +37,7 @@
 
     private String name;
 
-    private SourceWireFactory proxyFactory;
+    private SourceWireFactory sourceWireFactory;
 
     private MessageFactory msgFactory;
 
@@ -51,7 +51,7 @@
     }
 
     public EntryPointContext createContext() throws ContextCreationException {
-        return new EntryPointContextImpl(name, proxyFactory, msgFactory);
+        return new EntryPointContextImpl(name, sourceWireFactory, msgFactory);
     }
 
     public Scope getScope() {
@@ -65,30 +65,30 @@
     public void prepare() {
     }
 
-    public void addTargetProxyFactory(String serviceName, TargetWireFactory factory) {
-        // no wires to an entry point from with a composite
+    public void addTargetWireFactory(String serviceName, TargetWireFactory factory) {
+        // no wires to an entry point from within a composite
     }
 
-    public TargetWireFactory getTargetProxyFactory(String serviceName) {
-        // no wires to an entry point from with a composite
+    public TargetWireFactory getTargetWireFactory(String serviceName) {
+        // no wires to an entry point from within a composite
         return null;
     }
 
-    public Map<String, TargetWireFactory> getTargetProxyFactories() {
-        // no wires to an entry point from with a composite
+    public Map<String, TargetWireFactory> getTargetWireFactories() {
+        // no wires to an entry point from within a composite
         return Collections.emptyMap();
     }
 
-    public void addSourceProxyFactory(String refName, SourceWireFactory factory) {
+    public void addSourceWireFactory(String refName, SourceWireFactory factory) {
         assert (refName != null) : "No reference name specified";
         assert (factory != null) : "Proxy factory was null";
-        this.proxyFactory = factory;
+        this.sourceWireFactory = factory;
     }
 
-    public List<SourceWireFactory> getSourceProxyFactories() {
+    public List<SourceWireFactory> getSourceWireFactories() {
         if (sourceProxyFactories == null) {
             sourceProxyFactories = new ArrayList<SourceWireFactory>(1);
-            sourceProxyFactories.add(proxyFactory);
+            sourceProxyFactories.add(sourceWireFactory);
         }
         return sourceProxyFactories;
     }

Copied: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/ExternalServiceContextFactory.java (from r396081, incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/BaseExternalServiceContextFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/ExternalServiceContextFactory.java?p2=incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/ExternalServiceContextFactory.java&p1=incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/BaseExternalServiceContextFactory.java&r1=396081&r2=396284&rev=396284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/BaseExternalServiceContextFactory.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/ExternalServiceContextFactory.java Sun Apr 23 08:27:42 2006
@@ -41,11 +41,11 @@
  * 
  * @version $Rev$ $Date$
  */
-public abstract class BaseExternalServiceContextFactory implements ContextFactory<ExternalServiceContext> {
+public abstract class ExternalServiceContextFactory implements ContextFactory<ExternalServiceContext> {
 
     private String name;
 
-    private TargetWireFactory proxyFactory;
+    private TargetWireFactory targetWireFactory;
 
     private ObjectFactory objectFactory;
 
@@ -53,7 +53,7 @@
 
     private Map<String, TargetWireFactory> targetProxyFactories;
 
-    public BaseExternalServiceContextFactory(String name, ObjectFactory objectFactory) {
+    public ExternalServiceContextFactory(String name, ObjectFactory objectFactory) {
         assert (name != null) : "Name was null";
         assert (objectFactory != null) : "Object factory was null";
         this.name = name;
@@ -61,7 +61,7 @@
     }
 
     public ExternalServiceContext createContext() throws ContextCreationException {
-        return new ExternalServiceContextImpl(name, proxyFactory, objectFactory);
+        return new ExternalServiceContextImpl(name, targetWireFactory, objectFactory);
     }
 
     public Scope getScope() {
@@ -75,34 +75,34 @@
     public void prepare() {
     }
 
-    public void addTargetProxyFactory(String serviceName, TargetWireFactory factory) {
+    public void addTargetWireFactory(String serviceName, TargetWireFactory factory) {
         assert (serviceName != null) : "No service name specified";
         assert (factory != null) : "Proxy factory was null";
         this.targetServiceName = serviceName; // external services are configured with only one service
-        this.proxyFactory = factory;
+        this.targetWireFactory = factory;
     }
 
-    public TargetWireFactory getTargetProxyFactory(String serviceName) {
+    public TargetWireFactory getTargetWireFactory(String serviceName) {
         if (this.targetServiceName.equals(serviceName)) {
-            return proxyFactory;
+            return targetWireFactory;
         } else {
             return null;
         }
     }
 
-    public Map<String,TargetWireFactory> getTargetProxyFactories() {
+    public Map<String,TargetWireFactory> getTargetWireFactories() {
         if (targetProxyFactories == null) {
             targetProxyFactories = new HashMap<String, TargetWireFactory> (1);
-            targetProxyFactories.put(targetServiceName, proxyFactory);
+            targetProxyFactories.put(targetServiceName, targetWireFactory);
         }
         return targetProxyFactories;
     }
 
-    public void addSourceProxyFactory(String referenceName, SourceWireFactory factory) {
+    public void addSourceWireFactory(String referenceName, SourceWireFactory factory) {
         // no wires inside a composite from an external service
     }
 
-    public List<SourceWireFactory> getSourceProxyFactories() {
+    public List<SourceWireFactory> getSourceWireFactories() {
         return Collections.emptyList();
     }