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/05/20 06:26:29 UTC

svn commit: r407953 [1/2] - in /incubator/tuscany/sandbox/jboynes/sca: containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/ containers/container.java/src/test/java/org/apache/tuscany/container/java/context/ containers/cont...

Author: jmarino
Date: Fri May 19 21:26:25 2006
New Revision: 407953

URL: http://svn.apache.org/viewvc?rev=407953&view=rev
Log:
wire refactors; more to come

Added:
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemBindingBuilder.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java
      - copied, changed from r407909, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/model/SystemBinding.java
Removed:
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java
Modified:
    incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentBuilderTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/ReferenceInjectionTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/context/ScopeReferenceTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockContextFactory.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/StatelessScopeContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/IntraCompositeResolver.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemComponentBuilder.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemSourceWire.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetWire.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWire.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/system/WireServiceImpl.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/AtomicContextToReferenceContextTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToAtomicContextTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToReferenceContextTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockContextFactory.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockCompositeContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/scope/MockScopeContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/model/src/main/java/org/apache/tuscany/model/Scope.java
    incubator/tuscany/sandbox/jboynes/sca/model/src/main/java/org/apache/tuscany/model/ServiceContract.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AtomicContext.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/Context.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ScopeContext.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentContextExtension.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeContextExtension.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceContextExtension.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceContextExtension.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceWire.java

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentBuilderTestCase.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentBuilderTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentBuilderTestCase.java Fri May 19 21:26:25 2006
@@ -44,7 +44,7 @@
         sourceType.setReferenceMember("target", SourceImpl.class.getMethod("setTarget", Target.class));
 
         ServiceContract sourceContract = new JavaServiceContract();
-        sourceContract.setIntefaze(Source.class);
+        sourceContract.setInterfaze(Source.class);
         Service sourceService = new Service();
         sourceService.setName("Source");
         sourceService.setServiceContract(sourceContract);

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java Fri May 19 21:26:25 2006
@@ -48,7 +48,7 @@
         Method m = SourceImpl.class.getMethod("setTarget", Target.class);
         members.put("target", m);
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> scope = new ModuleScopeContext(ctx);
+        ScopeContext scope = new ModuleScopeContext(ctx);
         scope.start();
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class, Target.class, scope,
                 members, "target", OtherTarget.class, OtherTargetImpl.class, scope);
@@ -65,7 +65,7 @@
         Method m = SourceImpl.class.getMethod("setTargets", List.class);
         members.put("target", m);
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> scope = new ModuleScopeContext(ctx);
+        ScopeContext scope = new ModuleScopeContext(ctx);
         scope.start();
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredMultiplicity("source", SourceImpl.class, Target.class, scope,
                 "target", OtherTarget.class, OtherTargetImpl.class, members, scope);

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/ReferenceInjectionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/ReferenceInjectionTestCase.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/ReferenceInjectionTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/ReferenceInjectionTestCase.java Fri May 19 21:26:25 2006
@@ -27,7 +27,7 @@
 
     public void testProxiedReferenceInjection() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> scope = new ModuleScopeContext(ctx);
+        ScopeContext scope = new ModuleScopeContext(ctx);
         scope.start();
         Map<String,AtomicContext> contexts = MockContextFactory.createWiredContexts("source",SourceImpl.class, scope,
                 members, "target",Target.class,TargetImpl.class, scope);

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/context/ScopeReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/context/ScopeReferenceTestCase.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/context/ScopeReferenceTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/context/ScopeReferenceTestCase.java Fri May 19 21:26:25 2006
@@ -59,7 +59,7 @@
     @SuppressWarnings("unchecked")
     public void testModuleToModule() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> scope = new ModuleScopeContext(ctx);
+        ScopeContext scope = new ModuleScopeContext(ctx);
         scope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class, scope, members, "target", Target.class, TargetImpl.class, scope);
@@ -83,9 +83,9 @@
     @SuppressWarnings("unchecked")
     public void testModuleToSession() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> moduleScope = new ModuleScopeContext(ctx);
+        ScopeContext moduleScope = new ModuleScopeContext(ctx);
         moduleScope.start();
-        ScopeContext<AtomicContext> sessionScope = new HttpSessionScopeContext(ctx);
+        ScopeContext sessionScope = new HttpSessionScopeContext(ctx);
         sessionScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -132,9 +132,9 @@
     @SuppressWarnings("unchecked")
     public void testModuleToRequest() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> moduleScope = new ModuleScopeContext(ctx);
+        ScopeContext moduleScope = new ModuleScopeContext(ctx);
         moduleScope.start();
-        final ScopeContext<AtomicContext> requestScope = new RequestScopeContext(ctx);
+        final ScopeContext requestScope = new RequestScopeContext(ctx);
         requestScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -181,9 +181,9 @@
     @SuppressWarnings("unchecked")
     public void testModuleToStateless() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> moduleScope = new ModuleScopeContext(ctx);
+        ScopeContext moduleScope = new ModuleScopeContext(ctx);
         moduleScope.start();
-        ScopeContext<AtomicContext> statelessScope = new StatelessScopeContext(ctx);
+        ScopeContext statelessScope = new StatelessScopeContext(ctx);
         statelessScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -215,7 +215,7 @@
     @SuppressWarnings("unchecked")
     public void testSessionToSession() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> sessionScope = new HttpSessionScopeContext(ctx);
+        ScopeContext sessionScope = new HttpSessionScopeContext(ctx);
         sessionScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -262,9 +262,9 @@
     @SuppressWarnings("unchecked")
     public void testSessionToModule() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> moduleScope = new ModuleScopeContext(ctx);
+        ScopeContext moduleScope = new ModuleScopeContext(ctx);
         moduleScope.start();
-        ScopeContext<AtomicContext> sessionScope = new HttpSessionScopeContext(ctx);
+        ScopeContext sessionScope = new HttpSessionScopeContext(ctx);
         sessionScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -310,9 +310,9 @@
     @SuppressWarnings("unchecked")
     public void testSessionToRequest() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        final ScopeContext<AtomicContext> requestScope = new RequestScopeContext(ctx);
+        final ScopeContext requestScope = new RequestScopeContext(ctx);
         requestScope.start();
-        ScopeContext<AtomicContext> sessionScope = new HttpSessionScopeContext(ctx);
+        ScopeContext sessionScope = new HttpSessionScopeContext(ctx);
         sessionScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -362,9 +362,9 @@
     @SuppressWarnings("unchecked")
     public void testSessionToStateless() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> sessionScope = new HttpSessionScopeContext(ctx);
+        ScopeContext sessionScope = new HttpSessionScopeContext(ctx);
         sessionScope.start();
-        ScopeContext<AtomicContext> statelessScope = new StatelessScopeContext(ctx);
+        ScopeContext statelessScope = new StatelessScopeContext(ctx);
         statelessScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -400,7 +400,7 @@
     @SuppressWarnings("unchecked")
     public void testRequestToRequest() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        final ScopeContext<AtomicContext> requestScope = new RequestScopeContext(ctx);
+        final ScopeContext requestScope = new RequestScopeContext(ctx);
         requestScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -444,8 +444,8 @@
     @SuppressWarnings("unchecked")
     public void testRequestToModule() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        final ScopeContext<AtomicContext> requestScope = new RequestScopeContext(ctx);
-        final ScopeContext<AtomicContext> moduleScope = new ModuleScopeContext(ctx);
+        final ScopeContext requestScope = new RequestScopeContext(ctx);
+        final ScopeContext moduleScope = new ModuleScopeContext(ctx);
         requestScope.start();
         moduleScope.start();
         moduleScope.onEvent(new ModuleStart(this, null));
@@ -495,8 +495,8 @@
     @SuppressWarnings("unchecked")
     public void testRequestToSession() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        final ScopeContext<AtomicContext> requestScope = new RequestScopeContext(ctx);
-        final ScopeContext<AtomicContext> sessionScope = new HttpSessionScopeContext(ctx);
+        final ScopeContext requestScope = new RequestScopeContext(ctx);
+        final ScopeContext sessionScope = new HttpSessionScopeContext(ctx);
         requestScope.start();
         sessionScope.start();
 
@@ -550,9 +550,9 @@
     @SuppressWarnings("unchecked")
     public void testRequestToStateless() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> requestScope = new RequestScopeContext(ctx);
+        ScopeContext requestScope = new RequestScopeContext(ctx);
         requestScope.start();
-        ScopeContext<AtomicContext> statelessScope = new StatelessScopeContext(ctx);
+        ScopeContext statelessScope = new StatelessScopeContext(ctx);
         statelessScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -584,7 +584,7 @@
     @SuppressWarnings("unchecked")
     public void testStatelessToStateless() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> statelessScope = new StatelessScopeContext(ctx);
+        ScopeContext statelessScope = new StatelessScopeContext(ctx);
         statelessScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -612,9 +612,9 @@
     @SuppressWarnings("unchecked")
     public void testStatelessToRequest() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        final ScopeContext<AtomicContext> requestScope = new RequestScopeContext(ctx);
+        final ScopeContext requestScope = new RequestScopeContext(ctx);
         requestScope.start();
-        ScopeContext<AtomicContext> statelessScope = new StatelessScopeContext(ctx);
+        ScopeContext statelessScope = new StatelessScopeContext(ctx);
         statelessScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -656,9 +656,9 @@
     @SuppressWarnings("unchecked")
     public void testStatelessToSession() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> statelessScope = new StatelessScopeContext(ctx);
+        ScopeContext statelessScope = new StatelessScopeContext(ctx);
         statelessScope.start();
-        ScopeContext<AtomicContext> sessionScope = new HttpSessionScopeContext(ctx);
+        ScopeContext sessionScope = new HttpSessionScopeContext(ctx);
         sessionScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,
@@ -704,9 +704,9 @@
     @SuppressWarnings("unchecked")
     public void testStatelessToModule() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> statelessScope = new StatelessScopeContext(ctx);
+        ScopeContext statelessScope = new StatelessScopeContext(ctx);
         statelessScope.start();
-        ScopeContext<AtomicContext> moduleScope = new ModuleScopeContext(ctx);
+        ScopeContext moduleScope = new ModuleScopeContext(ctx);
         moduleScope.start();
 
         Map<String, AtomicContext> contexts = MockContextFactory.createWiredContexts("source", SourceImpl.class,

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/ScopedPojoInvokerTestCase.java Fri May 19 21:26:25 2006
@@ -50,7 +50,7 @@
 
     public void testScopedInvoke() throws Exception {
         WorkContext ctx = new WorkContextImpl();
-        ScopeContext<AtomicContext> scope = new ModuleScopeContext(ctx);
+        ScopeContext scope = new ModuleScopeContext(ctx);
         scope.start();
         JavaAtomicContext context = MockContextFactory.createJavaAtomicContext("foo", SimpleTargetImpl.class, Scope.MODULE);
         scope.register(context);

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockContextFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockContextFactory.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockContextFactory.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockContextFactory.java Fri May 19 21:26:25 2006
@@ -65,9 +65,9 @@
      * @throws Exception
      */
     public static Map<String, AtomicContext> createWiredContexts(String sourceName, Class<?> sourceClass,
-                                                                 ScopeContext<AtomicContext> sourceScope,
+                                                                 ScopeContext sourceScope,
                                                                  Map<String, Member> members, String targetName, Class<?> targetService, Class<?> targetClass,
-                                                                 ScopeContext<AtomicContext> targetScope) throws Exception {
+                                                                 ScopeContext targetScope) throws Exception {
         return createWiredContexts(sourceName, sourceClass, targetService, sourceScope, members, targetName, targetService, targetClass, targetScope);
 
     }
@@ -88,22 +88,22 @@
      * @throws Exception
      */
     public static Map<String, AtomicContext> createWiredContexts(String sourceName, Class<?> sourceClass, Class<?> sourceReferenceClass,
-                                                                 ScopeContext<AtomicContext> sourceScope,
+                                                                 ScopeContext sourceScope,
                                                                  Map<String, Member> members, String targetName,
                                                                  Class<?> targetService, Class<?> targetClass,
-                                                                 ScopeContext<AtomicContext> targetScope) throws Exception {
+                                                                 ScopeContext targetScope) throws Exception {
         return createWiredContexts(sourceName, sourceClass, sourceReferenceClass, sourceScope, null, null, null, members, targetName, targetService,
                 targetClass, targetScope, null, null, null);
     }
 
     public static Map<String, AtomicContext> createWiredContexts(String sourceName, Class<?> sourceClass, Class<?> sourceReferenceClass,
-                                                                 ScopeContext<AtomicContext> sourceScope,
+                                                                 ScopeContext sourceScope,
                                                                  Interceptor sourceHeadInterceptor,
                                                                  MessageHandler sourceHeadRequestHandler,
                                                                  MessageHandler sourceHeadResponseHandler,
                                                                  Map<String, Member> members,
                                                                  String targetName, Class<?> targetService, Class<?> targetClass,
-                                                                 ScopeContext<AtomicContext> targetScope,
+                                                                 ScopeContext targetScope,
                                                                  Interceptor targetHeadInterceptor,
                                                                  MessageHandler targetRequestHeadHandler,
                                                                  MessageHandler targetResponseHeadHandler) throws Exception {
@@ -143,9 +143,9 @@
      * @throws Exception
      */
     public static Map<String, AtomicContext> createWiredMultiplicity(String sourceName, Class<?> sourceClass, Class<?> sourceReferenceClass,
-                                                                     ScopeContext<AtomicContext> sourceScope,
+                                                                     ScopeContext sourceScope,
                                                                      String targetName, Class<?> targetService, Class<?> targetClass,
-                                                                     Map<String, Member> members, ScopeContext<AtomicContext> targetScope) throws Exception {
+                                                                     Map<String, Member> members, ScopeContext targetScope) throws Exception {
         JavaAtomicContext targetContext = createJavaAtomicContext(targetName, targetClass,targetScope.getScope());
         TargetWire targetWire = createTargetWire(targetService.getName().substring(
                 targetService.getName().lastIndexOf('.') + 1), targetService, null, null, null);

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Fri May 19 21:26:25 2006
@@ -164,9 +164,9 @@
     public <T extends Class> void connect(Context<T> source, CompositeContext parent) {
         if (source instanceof ComponentContext) {
             ComponentContext<T> sourceContext = (ComponentContext<T>) source;
-            for (SourceWire<?> sourceWire : sourceContext.getSourceWires()) {
+            for (SourceWire<T> sourceWire : sourceContext.getSourceWires()) {
                 try {
-                    connect(sourceWire, parent);
+                    connect(sourceWire, parent, sourceContext.getScope());
                 } catch (BuilderConfigException e) {
                     e.addContextName(sourceContext.getName());
                     e.addContextName(parent.getName());
@@ -177,7 +177,7 @@
             ServiceContext<T> sourceContext = (ServiceContext<T>) source;
             SourceWire<T> sourceWire = sourceContext.getSourceWire();
             try {
-                connect(sourceWire, parent);
+                connect(sourceWire, parent, sourceContext.getScope());
             } catch (BuilderConfigException e) {
                 e.addContextName(sourceContext.getName());
                 e.addContextName(parent.getName());
@@ -191,7 +191,7 @@
         }
     }
 
-    private void connect(SourceWire sourceWire, CompositeContext parent) throws BuilderConfigException {
+    private <T extends Class> void connect(SourceWire<T> sourceWire, CompositeContext parent, Scope sourceScope) throws BuilderConfigException {
         QualifiedName targetName = sourceWire.getTargetName();
         Context<?> target = parent.getContext(targetName.getPartName());
         if (target == null) {
@@ -199,19 +199,20 @@
             e.setIdentifier(targetName.getQualifiedName());
             throw e;
         }
-        TargetWire<?> targetWire;
+        TargetWire<T> targetWire;
         if (target instanceof ComponentContext) {
-            targetWire = ((ComponentContext<?>) target).getTargetWires().get(targetName.getPortName());
+            ComponentContext<?> targetContext = (ComponentContext<?>) target;
+            targetWire = targetContext.getTargetWires().get(targetName.getPortName());
             if (targetWire == null) {
                 BuilderConfigException e = new BuilderConfigException("Target service not found for reference" + sourceWire.getReferenceName());
                 e.setIdentifier(targetName.getPortName());
                 throw e;
             }
-            connect(sourceWire, targetWire, target);
+            connect(sourceWire, targetWire, target, isOptimizable(sourceScope, targetContext.getScope()));
         } else if (target instanceof ReferenceContext) {
-            targetWire = ((ReferenceContext<?>) target).getTargetWire();
+            targetWire = ((ReferenceContext<T>) target).getTargetWire();
             assert(targetWire != null);
-            connect(sourceWire, targetWire, target);
+            connect(sourceWire, targetWire, target, isOptimizable(sourceScope, target.getScope()));
         } else {
             BuilderConfigException e = new BuilderConfigException("Invalid wire target type for reference " + sourceWire.getReferenceName());
             e.setIdentifier(targetName.getQualifiedName());
@@ -220,9 +221,13 @@
 
     }
 
-    private void connect(SourceWire<?> source, TargetWire<?> targetWire, Context<?> target) {
-        // if null, the targetWire side has no interceptors or handlers
+    private <T extends Class> void connect(SourceWire<T> source, TargetWire<T> targetWire, Context<?> target, boolean optimizable) {
         Map<Method, TargetInvocationChain> targetInvocationConfigs = targetWire.getInvocationChains();
+        // perform optimization, if possible
+        if (optimizable && source.getInvocationChains().isEmpty() && targetInvocationConfigs.isEmpty()) {
+            source.setTargetWire(targetWire);
+            return;
+        }
         for (SourceInvocationChain sourceInvocationConfig : source.getInvocationChains().values()) {
             // match wire chains
             TargetInvocationChain targetInvocationConfig = targetInvocationConfigs.get(sourceInvocationConfig.getMethod());
@@ -260,6 +265,33 @@
             chain.setTargetInvoker(invoker);
         }
 
+    }
+
+    private boolean isOptimizable(Scope pReferrer, Scope pReferee) {
+        if (pReferrer == Scope.UNDEFINED || pReferee == Scope.UNDEFINED) {
+            return false;
+        }
+        if (pReferee == pReferrer) {
+            return true;
+        } else if (pReferrer == Scope.STATELESS) {
+            return true;
+        } else if (pReferee == Scope.STATELESS) {
+            return true;
+        } else if (pReferrer == Scope.REQUEST && pReferee == Scope.SESSION) {
+            return true;
+        } else if (pReferrer == Scope.REQUEST && pReferee == Scope.MODULE) {
+            return true;
+        } else if (pReferrer == Scope.REQUEST && pReferee == Scope.COMPOSITE) {
+            return true;
+        } else if (pReferrer == Scope.SESSION && pReferee == Scope.MODULE) {
+            return true;
+        } else if (pReferrer == Scope.SESSION && pReferee == Scope.COMPOSITE) {
+            return true;
+        } else if (pReferrer == Scope.MODULE && pReferee == Scope.COMPOSITE) {
+            return true;
+        } else {
+            return false;
+        }
     }
 
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java Fri May 19 21:26:25 2006
@@ -25,6 +25,7 @@
 import org.apache.tuscany.spi.event.Event;
 import org.apache.tuscany.spi.wire.SourceWire;
 import org.apache.tuscany.spi.wire.TargetWire;
+import org.apache.tuscany.model.Scope;
 
 /**
  * The base implementation of a composite context
@@ -70,6 +71,10 @@
     @Autowire
     public void setAutowireContext(AutowireContext context) {
         autowireContext = context;
+    }
+
+    public Scope getScope() {
+        return Scope.COMPOSITE;
     }
 
     public void start() {

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java Fri May 19 21:26:25 2006
@@ -40,7 +40,6 @@
     protected List<Injector> injectors;
     protected Map<String, Member> members;
 
-
     public PojoAtomicContext(String name, Class<?> serviceInterface, ObjectFactory<?> objectFactory, boolean eagerInit, EventInvoker<Object> initInvoker,
                              EventInvoker<Object> destroyInvoker, List<Injector> injectors, Map<String, Member> members) {
         assert (objectFactory != null) : "Object factory was null";
@@ -50,11 +49,11 @@
         this.name = name;
         List<Class<?>> serviceInterfaces = new ArrayList<Class<?>>();
         serviceInterfaces.add(serviceInterface);
+        this.serviceInterfaces = serviceInterfaces;
         this.objectFactory = objectFactory;
         this.eagerInit = eagerInit;
         this.initInvoker = initInvoker;
         this.destroyInvoker = destroyInvoker;
-        this.serviceInterfaces = serviceInterfaces;
         this.injectors = (injectors == null) ? new ArrayList<Injector>() : injectors;
         this.members = members != null ? members : new HashMap<String, Member>();
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java Fri May 19 21:26:25 2006
@@ -7,8 +7,7 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.apache.tuscany.spi.AbstractLifecycle;
-import org.apache.tuscany.spi.event.TrueFilter;
-import org.apache.tuscany.spi.context.Context;
+import org.apache.tuscany.spi.context.AtomicContext;
 import org.apache.tuscany.spi.context.InstanceWrapper;
 import org.apache.tuscany.spi.context.ScopeContext;
 import org.apache.tuscany.spi.context.TargetException;
@@ -16,13 +15,14 @@
 import org.apache.tuscany.spi.event.Event;
 import org.apache.tuscany.spi.event.EventFilter;
 import org.apache.tuscany.spi.event.RuntimeEventListener;
+import org.apache.tuscany.spi.event.TrueFilter;
 
 /**
  * Implements functionality common to scope contexts.
  *
  * @version $Rev: 399161 $ $Date: 2006-05-02 23:09:37 -0700 (Tue, 02 May 2006) $
  */
-public abstract class AbstractScopeContext<T extends Context> extends AbstractLifecycle implements ScopeContext<T> {
+public abstract class AbstractScopeContext extends AbstractLifecycle implements ScopeContext {
 
     // The event context the scope container is associated with
     protected WorkContext workContext;
@@ -79,7 +79,7 @@
         }
     }
 
-    public Object getInstance(T context) throws TargetException {
+    public Object getInstance(AtomicContext context) throws TargetException {
         InstanceWrapper ctx = getInstanceContext(context);
         if (ctx != null) {
             if (ctx.getLifecycleState() == UNINITIALIZED) {

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java Fri May 19 21:26:25 2006
@@ -20,7 +20,7 @@
  *
  * @version $Rev: 399161 $ $Date: 2006-05-02 23:09:37 -0700 (Tue, 02 May 2006) $
  */
-public class HttpSessionScopeContext extends AbstractScopeContext<AtomicContext> {
+public class HttpSessionScopeContext extends AbstractScopeContext {
 
     public static final Object HTTP_IDENTIFIER = new Object();
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java Fri May 19 21:26:25 2006
@@ -22,7 +22,7 @@
  *
  * @version $Rev: 399161 $ $Date: 2006-05-02 23:09:37 -0700 (Tue, 02 May 2006) $
  */
-public class ModuleScopeContext extends AbstractScopeContext<AtomicContext> {
+public class ModuleScopeContext extends AbstractScopeContext {
 
     private final Map<AtomicContext, InstanceWrapper> instanceContexts;
     // the queue of instanceContexts to destroy, in the order that their instances were created

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java Fri May 19 21:26:25 2006
@@ -20,7 +20,7 @@
  *
  * @version $Rev: 399161 $ $Date: 2006-05-02 23:09:37 -0700 (Tue, 02 May 2006) $
  */
-public class RequestScopeContext extends AbstractScopeContext<AtomicContext> {
+public class RequestScopeContext extends AbstractScopeContext {
 
     private final Map<AtomicContext, Map<Thread, InstanceWrapper>> contexts;
     private final Map<Thread, List<InstanceWrapper>> destroyQueues;

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/StatelessScopeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/StatelessScopeContext.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/StatelessScopeContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/StatelessScopeContext.java Fri May 19 21:26:25 2006
@@ -25,7 +25,7 @@
  *
  * @version $Rev: 399161 $ $Date: 2006-05-02 23:09:37 -0700 (Tue, 02 May 2006) $
  */
-public class StatelessScopeContext extends AbstractScopeContext<AtomicContext> {
+public class StatelessScopeContext extends AbstractScopeContext {
 
     public StatelessScopeContext(){
         this(null);

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/IntraCompositeResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/IntraCompositeResolver.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/IntraCompositeResolver.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/IntraCompositeResolver.java Fri May 19 21:26:25 2006
@@ -8,6 +8,9 @@
 import org.apache.tuscany.spi.context.ReferenceContext;
 
 /**
+ * Resolves a target within the same composite as a source. The target may be an atomic context, a service
+ * offered by a child composite, or a reference.
+ * 
  * @version $$Rev$$ $$Date$$
  */
 public class IntraCompositeResolver<T> implements ObjectFactory<T> {

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemBindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemBindingBuilder.java?rev=407953&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemBindingBuilder.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemBindingBuilder.java Fri May 19 21:26:25 2006
@@ -0,0 +1,37 @@
+package org.apache.tuscany.core.system.builder;
+
+import org.apache.tuscany.core.system.context.AutowireReferenceContextImpl;
+import org.apache.tuscany.core.system.context.SystemServiceContext;
+import org.apache.tuscany.core.system.context.SystemServiceContextImpl;
+import org.apache.tuscany.core.system.model.SystemBinding;
+import org.apache.tuscany.core.system.wire.SystemTargetWire;
+import org.apache.tuscany.model.BoundReference;
+import org.apache.tuscany.model.BoundService;
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.builder.BindingBuilder;
+import org.apache.tuscany.spi.context.CompositeContext;
+import org.apache.tuscany.spi.context.Context;
+import org.apache.tuscany.spi.wire.TargetWire;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public class SystemBindingBuilder implements BindingBuilder<SystemBinding> {
+
+    public Context build(CompositeContext parent, BoundService<SystemBinding> boundService) {
+        Class<?> interfaze = boundService.getServiceContract().getInterface();
+        String targetName = boundService.getTarget().getPath();
+//        SystemServiceContext context = new SystemServiceContextImpl(boundService.getName(),interfaze,
+//                targetName,parent);
+
+        return null;
+    }
+
+    public Context build(CompositeContext parent, BoundReference<SystemBinding> boundReference) {
+        Class<?> interfaze = boundReference.getServiceContract().getInterface();
+        AutowireReferenceContextImpl ctx = new AutowireReferenceContextImpl(boundReference.getName(), interfaze, parent);
+        TargetWire<?> wire = new SystemTargetWire(interfaze, ctx);
+        ctx.setTargetWire(wire);
+        return ctx;
+    }
+}

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemComponentBuilder.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemComponentBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemComponentBuilder.java Fri May 19 21:26:25 2006
@@ -9,7 +9,6 @@
 import org.apache.tuscany.common.ObjectFactory;
 import org.apache.tuscany.core.injection.ContextInjector;
 import org.apache.tuscany.core.injection.Injector;
-import org.apache.tuscany.core.injection.IntraCompositeResolver;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
 import org.apache.tuscany.core.model.PojoComponentType;
 import org.apache.tuscany.core.system.context.SystemAtomicContext;
@@ -25,19 +24,17 @@
 import org.apache.tuscany.spi.builder.ComponentBuilder;
 import org.apache.tuscany.spi.context.ComponentContext;
 import org.apache.tuscany.spi.context.CompositeContext;
-import org.apache.tuscany.spi.context.Context;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
-//@SuppressWarnings("unchecked")
 public class SystemComponentBuilder implements ComponentBuilder<SystemImplementation> {
 
     public ComponentContext build(CompositeContext parent, Component<SystemImplementation> component) throws BuilderConfigException {
         PojoComponentType componentType = component.getImplementation().getComponentType();
         List<Class<?>> serviceInterfaces = new ArrayList<Class<?>>();
         for (Service service : componentType.getServices().values()) {
-            serviceInterfaces.add(service.getServiceContract().getInteface());
+            serviceInterfaces.add(service.getServiceContract().getInterface());
         }
         Constructor<?> constr;
         try {
@@ -72,7 +69,7 @@
 
         for (ReferenceTarget target : component.getReferenceTargets().values()) {
             String referenceName = target.getReferenceName();
-            Class interfaze = target.getReference().getServiceContract().getInteface();
+            Class interfaze = target.getReference().getServiceContract().getInterface();
             Member member = componentType.getReferenceMember(referenceName);
             if (member == null) {
                 BuilderConfigException e = new BuilderConfigException("Reference not found");
@@ -84,9 +81,7 @@
             //FIXME support multiplicity!
             assert(target.getTargets().size() == 1): "Multiplicity not yet implemented";
             QualifiedName targetName = new QualifiedName(target.getTargets().get(0).getPath());
-            Context targetContext = parent.getContext(targetName.getPartName());
-            IntraCompositeResolver resolver = new IntraCompositeResolver(targetContext, targetName.getPortName());
-            SystemSourceWire wire = new SystemSourceWire(referenceName, targetName, interfaze, resolver);
+            SystemSourceWire<?> wire = new SystemSourceWire(referenceName, targetName, interfaze);
             systemContext.addSourceWire(wire);
         }
         return systemContext;

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java (from r407909, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java&r1=407909&r2=407953&rev=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java Fri May 19 21:26:25 2006
@@ -2,37 +2,36 @@
 
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
-import java.util.Map;
 
-import org.apache.tuscany.spi.context.AbstractContext;
 import org.apache.tuscany.core.context.AutowireContext;
 import org.apache.tuscany.spi.context.CompositeContext;
-import org.apache.tuscany.spi.context.ReferenceContext;
 import org.apache.tuscany.spi.context.TargetException;
+import org.apache.tuscany.spi.extension.ReferenceContextExtension;
 import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.TargetWire;
+import org.apache.tuscany.model.Scope;
 
 /**
- * The default implementation of an external service context
- *
  * @version $Rev: 399991 $ $Date: 2006-05-04 23:44:07 -0700 (Thu, 04 May 2006) $
  */
-public class AutowireSystemReferenceContext<T> extends AbstractContext<T> implements ReferenceContext<T> {
+public class AutowireReferenceContextImpl<T> extends ReferenceContextExtension<T> implements SystemReferenceContext<T> {
 
-    private Class<T> referenceInterface;
     private AutowireContext<?> autowireContext;
 
-    public AutowireSystemReferenceContext(String name, Class<T> referenceInterface, CompositeContext parent) {
-        super(name);
+    public AutowireReferenceContextImpl(String name, Class<T> referenceInterface, CompositeContext parent) {
         assert (referenceInterface != null) : "Reference interface was null";
         assert (parent instanceof AutowireContext) : "Parent must implement " + AutowireContext.class.getName();
+        this.name = name;
         this.referenceInterface = referenceInterface;
         autowireContext = (AutowireContext) parent;
         setParent(parent);
     }
 
+    public Scope getScope() {
+        return Scope.COMPOSITE;
+    }
+
     public TargetInvoker createTargetInvoker(String serviceName, Method operation) {
-        return null;
+        throw new UnsupportedOperationException();
     }
 
     public T getService() throws TargetException {
@@ -43,24 +42,5 @@
         throw new UnsupportedOperationException();
     }
 
-    public Class<T> getInterface() {
-        return referenceInterface;
-    }
-
-    public TargetWire<T> getTargetWire() {
-        throw new UnsupportedOperationException();
-    }
-
 
-    public void addTargetWire(TargetWire wire) {
-        throw new UnsupportedOperationException();
-    }
-
-    public TargetWire getTargetWire(String serviceName) {
-        throw new UnsupportedOperationException();
-    }
-
-    public Map<String, TargetWire> getTargetWires() {
-        throw new UnsupportedOperationException();
-    }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java Fri May 19 21:26:25 2006
@@ -33,9 +33,6 @@
         return (T) scopeContext.getInstance(this);
     }
 
-    public void prepare() {
-    }
-
     public Object getService(String name) throws TargetException {
         return getTargetInstance();
     }
@@ -47,5 +44,10 @@
     public TargetInvoker createTargetInvoker(String serviceName, Method operation) {
         throw new UnsupportedOperationException();
     }
+
+    public void prepare() {
+        // overrid and do nothing since system services do not proxy
+    }
+
 
 }

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContext.java?rev=407953&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContext.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContext.java Fri May 19 21:26:25 2006
@@ -0,0 +1,9 @@
+package org.apache.tuscany.core.system.context;
+
+import org.apache.tuscany.spi.context.ReferenceContext;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public interface SystemReferenceContext<T> extends ReferenceContext<T> {
+}

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java Fri May 19 21:26:25 2006
@@ -3,15 +3,12 @@
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 
+import org.apache.tuscany.model.Scope;
 import org.apache.tuscany.spi.CoreRuntimeException;
-import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.context.AbstractContext;
-import org.apache.tuscany.spi.context.AtomicContext;
 import org.apache.tuscany.spi.context.CompositeContext;
-import org.apache.tuscany.spi.context.Context;
-import org.apache.tuscany.spi.context.IllegalTargetException;
-import org.apache.tuscany.spi.context.ReferenceContext;
-import org.apache.tuscany.spi.context.TargetNotFoundException;
+import org.apache.tuscany.spi.context.TargetException;
+import org.apache.tuscany.spi.wire.ProxyCreationException;
 import org.apache.tuscany.spi.wire.SourceWire;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 
@@ -20,38 +17,45 @@
  */
 public class SystemServiceContextImpl<T> extends AbstractContext<T> implements SystemServiceContext<T> {
 
-    // a reference to the component's implementation instance exposed by the entry point
-    private T cachedInstance;
     private Class<T> interfaze;
-    private QualifiedName target;
+    private SourceWire<T> wire;
 
-    public SystemServiceContextImpl(String name, Class<T> interfaze, String targetName, CompositeContext parent) throws CoreRuntimeException {
+    public SystemServiceContextImpl(String name, Class<T> interfaze, SourceWire<T> wire, CompositeContext parent) throws CoreRuntimeException {
         super(name);
         this.interfaze = interfaze;
-        target = new QualifiedName(targetName);
-        setParent(parent);
+        this.parentContext = parent;
+        this.wire = wire;
+    }
+
+    public Scope getScope() {
+        return Scope.COMPOSITE;
     }
 
     @SuppressWarnings("unchecked")
     public T getService() {
-        if (cachedInstance == null) {
-            Context ctx = getParent().getContext(target.getPartName());
-            if ((ctx instanceof AtomicContext)) {
-                cachedInstance = (T) ((AtomicContext) ctx).getService(target.getPortName());
-            } else if ((ctx instanceof ReferenceContext)) {
-                cachedInstance = (T) ctx.getService();
-            } else if (ctx == null) {
-                TargetNotFoundException e = new TargetNotFoundException(name);
-                e.addContextName(getName());
-                throw e;
-            } else {
-                IllegalTargetException e = new IllegalTargetException("Reference target must be a component or reference context");
-                e.setIdentifier(name);
-                e.addContextName(getName());
-                throw e;
-            }
+        try {
+            return wire.createProxy();
+        } catch (ProxyCreationException e) {
+            throw new TargetException(e);
         }
-        return cachedInstance;
+//        if (cachedInstance == null) {
+//            Context ctx = getParent().getContext(target.getPartName());
+//            if ((ctx instanceof AtomicContext)) {
+//                cachedInstance = (T) ((AtomicContext) ctx).getService(target.getPortName());
+//            } else if ((ctx instanceof ReferenceContext)) {
+//                cachedInstance = (T) ctx.getService();
+//            } else if (ctx == null) {
+//                TargetNotFoundException e = new TargetNotFoundException(name);
+//                e.addContextName(getName());
+//                throw e;
+//            } else {
+//                IllegalTargetException e = new IllegalTargetException("Reference target must be a component or reference context");
+//                e.setIdentifier(name);
+//                e.addContextName(getName());
+//                throw e;
+//            }
+//        }
+//        return cachedInstance;
     }
 
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java Fri May 19 21:26:25 2006
@@ -1,20 +1,19 @@
 package org.apache.tuscany.core.system.context;
 
+import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.lang.reflect.Method;
 
 import org.apache.tuscany.common.ObjectCreationException;
-import org.apache.tuscany.spi.context.AbstractContext;
 import org.apache.tuscany.model.Scope;
-import org.apache.tuscany.spi.context.AtomicContext;
+import org.apache.tuscany.spi.context.AbstractContext;
 import org.apache.tuscany.spi.context.InstanceWrapper;
 import org.apache.tuscany.spi.context.ScopeContext;
 import org.apache.tuscany.spi.context.TargetException;
 import org.apache.tuscany.spi.wire.SourceWire;
-import org.apache.tuscany.spi.wire.TargetWire;
 import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.spi.wire.TargetWire;
 
 /**
  * An {@link org.apache.tuscany.spi.context.AtomicContext} used when registering objects directly into a
@@ -42,7 +41,7 @@
         return Scope.MODULE;
     }
 
-    public void setScopeContext(ScopeContext<AtomicContext> context) {
+    public void setScopeContext(ScopeContext context) {
         // do nothing
     }
 
@@ -102,7 +101,7 @@
     }
 
 
-    public TargetInvoker createTargetInvoker(String serviceName, Method operation){
+    public TargetInvoker createTargetInvoker(String serviceName, Method operation) {
         throw new UnsupportedOperationException();
     }
 }

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/model/SystemBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/model/SystemBinding.java?rev=407953&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/model/SystemBinding.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/model/SystemBinding.java Fri May 19 21:26:25 2006
@@ -0,0 +1,9 @@
+package org.apache.tuscany.core.system.model;
+
+import org.apache.tuscany.model.Binding;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public class SystemBinding extends Binding {
+}

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemSourceWire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemSourceWire.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemSourceWire.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemSourceWire.java Fri May 19 21:26:25 2006
@@ -4,26 +4,25 @@
 import java.util.Collections;
 import java.util.Map;
 
-import org.apache.tuscany.common.ObjectFactory;
 import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.wire.ProxyCreationException;
 import org.apache.tuscany.spi.wire.SourceInvocationChain;
 import org.apache.tuscany.spi.wire.SourceWire;
+import org.apache.tuscany.spi.wire.TargetWire;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
-public class SystemSourceWire implements SourceWire {
+public class SystemSourceWire<T> implements SourceWire<T> {
     private String referenceName;
     private QualifiedName targetName;
-    private Class businessInterface;
-    private ObjectFactory factory;
+    private Class<T> businessInterface;
+    private TargetWire<T> targetWire;
 
-    public SystemSourceWire(String referenceName, QualifiedName targetName, Class businessInterface, ObjectFactory factory) {
+    public SystemSourceWire(String referenceName, QualifiedName targetName, Class<T> businessInterface) {
         this.referenceName = referenceName;
         this.targetName = targetName;
         this.businessInterface = businessInterface;
-        this.factory = factory;
     }
 
     public String getReferenceName() {
@@ -42,15 +41,18 @@
         this.targetName = targetName;
     }
 
-    public Object createProxy() throws ProxyCreationException {
-        return factory.getInstance();
+    public T createProxy() throws ProxyCreationException {
+        if (targetWire == null) {
+            throw new ProxyCreationException("Target wire not set on source wire");
+        }
+        return targetWire.createProxy();
     }
 
-    public Class getBusinessInterface() {
+    public Class<T> getBusinessInterface() {
         return businessInterface;
     }
 
-    public void setBusinessInterface(Class businessInterface) {
+    public void setBusinessInterface(Class<T> businessInterface) {
         this.businessInterface = businessInterface;
     }
 
@@ -58,7 +60,7 @@
         return new Class[0];
     }
 
-    public Map getInvocationChains() {
+    public Map<Method, SourceInvocationChain> getInvocationChains() {
         return Collections.emptyMap();
     }
 
@@ -72,6 +74,10 @@
 
     public void addInterface(Class claz) {
         throw new UnsupportedOperationException();
+    }
+
+    public void setTargetWire(TargetWire<T> wire) {
+        targetWire = wire;
     }
 
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetWire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetWire.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetWire.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetWire.java Fri May 19 21:26:25 2006
@@ -1,27 +1,39 @@
 package org.apache.tuscany.core.system.wire;
 
-import java.util.Map;
-import java.util.Collections;
 import java.lang.reflect.Method;
+import java.util.Collections;
+import java.util.Map;
 
-import org.apache.tuscany.spi.wire.TargetWire;
+import org.apache.tuscany.spi.context.ComponentContext;
+import org.apache.tuscany.spi.context.ReferenceContext;
 import org.apache.tuscany.spi.wire.ProxyCreationException;
-import org.apache.tuscany.spi.wire.TargetInvocationChain;
 import org.apache.tuscany.spi.wire.SourceInvocationChain;
-import org.apache.tuscany.common.ObjectFactory;
+import org.apache.tuscany.spi.wire.TargetInvocationChain;
+import org.apache.tuscany.spi.wire.TargetWire;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
-public class SystemTargetWire implements TargetWire {
+public class SystemTargetWire<T> implements TargetWire<T> {
     private String serviceName;
-    private Class businessInterface;
-    private ObjectFactory factory;
+    private Class<T> businessInterface;
+    private ReferenceContext<T> referenceContext;
+    private ComponentContext<?> componentContext;
 
-    public SystemTargetWire(String serviceName, Class businessInterface, ObjectFactory factory) {
+    public SystemTargetWire(Class<T> businessInterface, ReferenceContext<T> target) {
+        this.businessInterface = businessInterface;
+        this.referenceContext = target;
+    }
+
+    public SystemTargetWire(String serviceName, Class<T> businessInterface, ComponentContext<?> target) {
         this.serviceName = serviceName;
         this.businessInterface = businessInterface;
-        this.factory = factory;
+        this.componentContext = target;
+    }
+
+    public SystemTargetWire(Class<T> businessInterface, ComponentContext<?> target) {
+        this.businessInterface = businessInterface;
+        this.componentContext = target;
     }
 
     public String getServiceName() {
@@ -32,16 +44,20 @@
         this.serviceName = serviceName;
     }
 
-     public Object createProxy() throws ProxyCreationException {
-         return factory.getInstance();
+    @SuppressWarnings("unchecked")
+    public T createProxy() throws ProxyCreationException {
+        if (referenceContext != null) {
+            return referenceContext.getService();
+        } else {
+            return (T)componentContext.getService(serviceName);
+        }
     }
 
-    public Class getBusinessInterface() {
+    public Class<T> getBusinessInterface() {
         return businessInterface;
     }
 
-
-    public void setBusinessInterface(Class businessInterface) {
+    public void setBusinessInterface(Class<T> businessInterface) {
         this.businessInterface = businessInterface;
     }
 
@@ -49,7 +65,7 @@
         return new Class[0];
     }
 
-    public Map getInvocationChains() {
+    public Map<Method, TargetInvocationChain> getInvocationChains() {
         return Collections.emptyMap();
     }
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWire.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWire.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWire.java Fri May 19 21:26:25 2006
@@ -18,10 +18,12 @@
 import java.util.Map;
 
 import org.apache.tuscany.core.util.MethodHashMap;
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.wire.ProxyCreationException;
 import org.apache.tuscany.spi.wire.SourceInvocationChain;
 import org.apache.tuscany.spi.wire.SourceWire;
+import org.apache.tuscany.spi.wire.TargetWire;
 import org.apache.tuscany.spi.wire.WireInvocationHandler;
-import org.apache.tuscany.spi.QualifiedName;
 
 /**
  * Creates proxies that are injected on references using JDK dynamic proxy facilities and front a wire. The
@@ -35,9 +37,14 @@
     private Map<Method, SourceInvocationChain> invocationChains = new MethodHashMap<SourceInvocationChain>();
     private String referenceName;
     private QualifiedName targetName;
+    private TargetWire<T> targetWire;
 
     @SuppressWarnings("unchecked")
-    public T createProxy() {
+    public T createProxy() throws ProxyCreationException {
+        if (targetWire != null) {
+            // optimized, no interceptors or handlers on either end
+            return targetWire.createProxy();
+        }
         WireInvocationHandler handler = new JDKInvocationHandler();
         handler.setConfiguration(invocationChains);
         return (T) Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), businessInterfaces, handler);
@@ -88,4 +95,7 @@
         this.targetName = targetName;
     }
 
+    public void setTargetWire(TargetWire<T> wire) {
+        targetWire = wire;
+    }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/system/WireServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/system/WireServiceImpl.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/system/WireServiceImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/system/WireServiceImpl.java Fri May 19 21:26:25 2006
@@ -63,7 +63,7 @@
 
     public SourceWire createSourceWire(Reference reference) throws BuilderConfigException {
         String name = reference.getName();
-        Class interfaze = reference.getServiceContract().getInteface();
+        Class interfaze = reference.getServiceContract().getInterface();
         SourceWire<?> wire = wireFactoryService.createSourceWire();
         wire.setBusinessInterface(interfaze);
         wire.setReferenceName(name);
@@ -82,7 +82,7 @@
 
     public TargetWire createTargetWire(Service service) {
         String name = service.getName();
-        Class interfaze = service.getServiceContract().getInteface();
+        Class interfaze = service.getServiceContract().getInterface();
         TargetWire<?> wire = wireFactoryService.createTargetWire();
         wire.setBusinessInterface(interfaze);
         wire.setServiceName(name);

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/AtomicContextToReferenceContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/AtomicContextToReferenceContextTestCase.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/AtomicContextToReferenceContextTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/AtomicContextToReferenceContextTestCase.java Fri May 19 21:26:25 2006
@@ -1,18 +1,14 @@
 package org.apache.tuscany.core.integration.system;
 
+import java.lang.reflect.Member;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.HashMap;
-import java.lang.reflect.Member;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.context.WorkContextImpl;
 import org.apache.tuscany.core.context.scope.ModuleScopeContext;
-import org.apache.tuscany.core.injection.Injector;
-import org.apache.tuscany.core.injection.MethodInjector;
-import org.apache.tuscany.core.injection.TargetInstanceResolver;
-import org.apache.tuscany.core.injection.IntraCompositeResolver;
 import org.apache.tuscany.core.mock.MockContextFactory;
 import org.apache.tuscany.core.mock.component.Source;
 import org.apache.tuscany.core.mock.component.SourceImpl;
@@ -23,28 +19,34 @@
 import org.apache.tuscany.core.system.context.SystemCompositeContext;
 import org.apache.tuscany.core.system.context.SystemCompositeContextImpl;
 import org.apache.tuscany.core.system.wire.SystemSourceWire;
+import org.apache.tuscany.core.system.wire.SystemTargetWire;
+import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.context.ReferenceContext;
 import org.apache.tuscany.spi.context.WorkContext;
-import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.wire.SourceWire;
+import org.apache.tuscany.spi.wire.TargetWire;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
 public class AtomicContextToReferenceContextTestCase extends TestCase {
 
-    public void testWireResolution() throws NoSuchMethodException{
+    public void testWireResolution() throws NoSuchMethodException {
         WorkContext ctx = new WorkContextImpl();
         ModuleScopeContext scope = new ModuleScopeContext(ctx);
         SystemCompositeContext context = new SystemCompositeContextImpl();
         scope.start();
         ReferenceContext<Target> serviceContext = new MockReferenceContext<Target>("service", Target.class, new TargetImpl());
         context.registerContext(serviceContext);
-        Map<String, Member> members = new HashMap<String,Member>();
-        members.put("setTarget",SourceImpl.class.getMethod("setTarget", Target.class));
+        Map<String, Member> members = new HashMap<String, Member>();
+        members.put("setTarget", SourceImpl.class.getMethod("setTarget", Target.class));
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
-        SystemAtomicContext sourceContext = MockContextFactory.createSystemAtomicContext("source", interfaces, SourceImpl.class, null,members);
-        sourceContext.addSourceWire(new SystemSourceWire("setTarget",new QualifiedName("service"),Target.class, new IntraCompositeResolver(serviceContext,"")));
+        SystemAtomicContext sourceContext = MockContextFactory.createSystemAtomicContext("source", interfaces, SourceImpl.class, null, members);
+        SourceWire<Target> sourceWire = new SystemSourceWire<Target>("setTarget", new QualifiedName("service"), Target.class);
+        TargetWire<Target> targetWire = new SystemTargetWire<Target>(Target.class, serviceContext);
+        sourceWire.setTargetWire(targetWire);
+        sourceContext.addSourceWire(sourceWire);
         context.registerContext(sourceContext);
         sourceContext.setScopeContext(scope);
         context.start();

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToAtomicContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToAtomicContextTestCase.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToAtomicContextTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToAtomicContextTestCase.java Fri May 19 21:26:25 2006
@@ -11,7 +11,12 @@
 import org.apache.tuscany.core.system.context.SystemCompositeContextImpl;
 import org.apache.tuscany.core.system.context.SystemServiceContext;
 import org.apache.tuscany.core.system.context.SystemServiceContextImpl;
+import org.apache.tuscany.core.system.wire.SystemSourceWire;
+import org.apache.tuscany.core.system.wire.SystemTargetWire;
 import org.apache.tuscany.spi.context.WorkContext;
+import org.apache.tuscany.spi.wire.SourceWire;
+import org.apache.tuscany.spi.wire.TargetWire;
+import org.apache.tuscany.spi.QualifiedName;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -26,7 +31,10 @@
         SystemAtomicContext targetContext = MockContextFactory.createSystemAtomicContext("target", TargetImpl.class);
         context.registerContext(targetContext);
         targetContext.setScopeContext(scope);
-        SystemServiceContext<Target> serviceContext = new SystemServiceContextImpl<Target>("service", Target.class, "target", context);
+        TargetWire<Target> targetWire = new SystemTargetWire<Target>(Target.class,targetContext);
+        SourceWire<Target> wire = new SystemSourceWire<Target>("service",new QualifiedName("target"),Target.class);    //String referenceName, QualifiedName targetName, Class<T> businessInterface
+        wire.setTargetWire(targetWire);
+        SystemServiceContext<Target> serviceContext = new SystemServiceContextImpl<Target>("service", Target.class, wire, context);
         context.registerContext(serviceContext);
         context.start();
         SystemServiceContext serviceContext2 = (SystemServiceContext) context.getContext("service");

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToReferenceContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToReferenceContextTestCase.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToReferenceContextTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/ServiceContextToReferenceContextTestCase.java Fri May 19 21:26:25 2006
@@ -10,8 +10,13 @@
 import org.apache.tuscany.core.system.context.SystemCompositeContextImpl;
 import org.apache.tuscany.core.system.context.SystemServiceContext;
 import org.apache.tuscany.core.system.context.SystemServiceContextImpl;
+import org.apache.tuscany.core.system.wire.SystemTargetWire;
+import org.apache.tuscany.core.system.wire.SystemSourceWire;
 import org.apache.tuscany.spi.context.ReferenceContext;
 import org.apache.tuscany.spi.context.WorkContext;
+import org.apache.tuscany.spi.wire.TargetWire;
+import org.apache.tuscany.spi.wire.SourceWire;
+import org.apache.tuscany.spi.QualifiedName;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -25,7 +30,10 @@
         scope.start();
         ReferenceContext<Target> referenceContext = new MockReferenceContext<Target>("reference", Target.class, new TargetImpl());
         context.registerContext(referenceContext);
-        SystemServiceContext<Target> serviceContext = new SystemServiceContextImpl<Target>("service", Target.class, "reference", context);
+        TargetWire<Target> targetWire = new SystemTargetWire<Target>(Target.class,referenceContext);
+        SourceWire<Target> wire = new SystemSourceWire<Target>("service",new QualifiedName("reference"),Target.class);    //String referenceName, QualifiedName targetName, Class<T> businessInterface
+        wire.setTargetWire(targetWire);
+        SystemServiceContext<Target> serviceContext = new SystemServiceContextImpl<Target>("service", Target.class, wire, context);
         context.registerContext(serviceContext);
         context.start();
         SystemServiceContext serviceContext2 = (SystemServiceContext) context.getContext("service");

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockContextFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockContextFactory.java?rev=407953&r1=407952&r2=407953&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockContextFactory.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockContextFactory.java Fri May 19 21:26:25 2006
@@ -11,12 +11,12 @@
 import org.apache.tuscany.common.ObjectFactory;
 import org.apache.tuscany.core.injection.EventInvoker;
 import org.apache.tuscany.core.injection.Injector;
-import org.apache.tuscany.core.injection.IntraCompositeResolver;
 import org.apache.tuscany.core.injection.MethodEventInvoker;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
 import org.apache.tuscany.core.system.context.SystemAtomicContext;
 import org.apache.tuscany.core.system.context.SystemAtomicContextImpl;
 import org.apache.tuscany.core.system.wire.SystemSourceWire;
+import org.apache.tuscany.core.system.wire.SystemTargetWire;
 import org.apache.tuscany.core.util.MethodHashMap;
 import org.apache.tuscany.core.wire.InvokerInterceptor;
 import org.apache.tuscany.core.wire.TargetInvocationChainImpl;
@@ -34,8 +34,8 @@
  */
 public class MockContextFactory {
 
-    public static Map<String, AtomicContext> createWiredContexts(String source, Class<?> sourceClass, ScopeContext<AtomicContext> sourceScopeCtx,
-                                                                 String target, Class<?> targetClass, ScopeContext<AtomicContext> targetScopeCtx) throws NoSuchMethodException {
+    public static Map<String, AtomicContext> createWiredContexts(String source, Class<?> sourceClass, ScopeContext sourceScopeCtx,
+                                                                 String target, Class<?> targetClass, ScopeContext targetScopeCtx) throws NoSuchMethodException {
         List<Class<?>> sourceClasses = new ArrayList<Class<?>>();
         sourceClasses.add(sourceClass);
         return createWiredContexts(source, sourceClasses, sourceClass, sourceScopeCtx, target, targetClass, targetScopeCtx);
@@ -48,8 +48,8 @@
      *
      * @throws NoSuchMethodException
      */
-    public static Map<String, AtomicContext> createWiredContexts(String source, List<Class<?>> sourceInterfaces, Class<?> sourceClass, ScopeContext<AtomicContext> sourceScopeCtx,
-                                                                 String target, Class<?> targetClass, ScopeContext<AtomicContext> targetScopeCtx) throws NoSuchMethodException {
+    public static Map<String, AtomicContext> createWiredContexts(String source, List<Class<?>> sourceInterfaces, Class<?> sourceClass, ScopeContext sourceScopeCtx,
+                                                                 String target, Class<?> targetClass, ScopeContext targetScopeCtx) throws NoSuchMethodException {
 
         Map<String, AtomicContext> contexts = new HashMap<String, AtomicContext>();
         SystemAtomicContext targetCtx = createSystemAtomicContext(target, targetClass);//, targetEager, targetInitInvoker, targetDestroyInvoker, null);
@@ -76,14 +76,14 @@
             throw new IllegalArgumentException("No setter found on source for target");
         }
 
-//        MethodInjector injector = new MethodInjector(setter, new AtomicContextInstanceFactory(targetCtx));
-//        List<Injector> injectors = new ArrayList<Injector>();
-//        injectors.add(injector);
         Map<String, Member> members = new HashMap<String, Member>();
         members.put(setter.getName(), setter);
         SystemAtomicContext sourceCtx = createSystemAtomicContext(source, sourceInterfaces, sourceClass, null, members);//, sourceEager, sourceInitInvoker, sourceDestroyInvoker, injectors);
         QualifiedName targetName = new QualifiedName(target);
-        SystemSourceWire wire = new SystemSourceWire(setter.getName(), targetName, targetClass, new IntraCompositeResolver(targetCtx, targetName.getPortName()));
+        SystemSourceWire wire = new SystemSourceWire(setter.getName(), targetName, targetClass);
+        TargetWire targetWire = new SystemTargetWire(targetName.getPortName(), targetClass, targetCtx);
+        wire.setTargetWire(targetWire);
+
         sourceCtx.addSourceWire(wire);
         sourceCtx.setScopeContext(sourceScopeCtx);
         contexts.put(source, sourceCtx);
@@ -91,11 +91,14 @@
         return contexts;
     }
 
-
     public static SystemAtomicContext createSystemAtomicContext(String name, Class<?> clazz) throws NoSuchMethodException {
         List<Class<?>> serviceInterfaces = new ArrayList<Class<?>>();
         serviceInterfaces.add(clazz);
-        return createSystemAtomicContext(name, serviceInterfaces, clazz, null, null);
+        return createSystemAtomicContext(name, serviceInterfaces, clazz);
+    }
+
+    public static SystemAtomicContext createSystemAtomicContext(String name, List<Class<?>> interfaces, Class<?> clazz) throws NoSuchMethodException {
+        return createSystemAtomicContext(name, interfaces, clazz, null, null);
     }
 
     public static SystemAtomicContext createSystemAtomicContext(String name, List<Class<?>> serviceInterfaces,
@@ -158,20 +161,5 @@
         Constructor<T> ctr = clazz.getConstructor((Class<T>[]) null);
         return new PojoObjectFactory<T>(ctr);
     }
-
-//    /**
-//     * Used for injecting references
-//     */
-//    private static class AtomicContextInstanceFactory implements ObjectFactory {
-//        private SystemAtomicContext ctx;
-//
-//        public AtomicContextInstanceFactory(SystemAtomicContext ctx) {
-//            this.ctx = ctx;
-//        }
-//
-//        public Object getInstance() throws ObjectCreationException {
-//            return ctx.getTargetInstance();
-//        }
-//    }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org