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 09:40:33 UTC

svn commit: r407965 - in /incubator/tuscany/sandbox/jboynes/sca: core2/src/main/java/org/apache/tuscany/core/builder/ core2/src/main/java/org/apache/tuscany/core/context/ core2/src/main/java/org/apache/tuscany/core/injection/ core2/src/main/java/org/ap...

Author: jmarino
Date: Sat May 20 00:40:32 2006
New Revision: 407965

URL: http://svn.apache.org/viewvc?rev=407965&view=rev
Log:
wire refactors; removal of unused code

Added:
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/WireObjectFactory.java
      - copied, changed from r407954, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/ProxyObjectFactory.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/mock/
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/mock/context/
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/mock/context/MockTargetWire.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContextImpl.java
      - copied, changed from r407953, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetAutowire.java
Removed:
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/AutowireResolver.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/DynamicTargetResolver.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/InterCompositeResolver.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/injection/ProxyObjectFactory.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/TargetInstanceResolver.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/TargetServiceResolver.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java
Modified:
    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/PojoAtomicContext.java
    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/SystemServiceContextImpl.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/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/ServiceContextToReferenceContextTestCase.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/system/context/AutowireTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ServiceContext.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/TargetWire.java

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=407965&r1=407964&r2=407965&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 Sat May 20 00:40:32 2006
@@ -287,11 +287,7 @@
             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;
-        }
+        } else return pReferrer == Scope.MODULE && pReferee == Scope.COMPOSITE;
     }
 
 }

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=407965&r1=407964&r2=407965&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 Sat May 20 00:40:32 2006
@@ -17,7 +17,7 @@
 import org.apache.tuscany.core.injection.InvalidAccessorException;
 import org.apache.tuscany.core.injection.ListMultiplicityObjectFactory;
 import org.apache.tuscany.core.injection.MethodInjector;
-import org.apache.tuscany.core.injection.ProxyObjectFactory;
+import org.apache.tuscany.core.injection.WireObjectFactory;
 import org.apache.tuscany.core.injection.NoAccessorException;
 import org.apache.tuscany.spi.context.AtomicContext;
 import org.apache.tuscany.spi.context.InstanceWrapper;
@@ -131,7 +131,7 @@
     }
 
     protected Injector createInjector(Member member, SourceWire wire) {
-        ObjectFactory<?> factory = new ProxyObjectFactory(wire);
+        ObjectFactory<?> factory = new WireObjectFactory(wire);
         if (member instanceof Field) {
             return new FieldInjector(((Field) member), factory);
         } else if (member instanceof Method) {
@@ -146,7 +146,7 @@
     protected Injector createMultiplicityInjector(Member member, Class<?> interfaceType, List<SourceWire> wireFactories) {
         List<ObjectFactory<?>> factories = new ArrayList<ObjectFactory<?>>();
         for (SourceWire wire : wireFactories) {
-            factories.add(new ProxyObjectFactory(wire));
+            factories.add(new WireObjectFactory(wire));
         }
         if (member instanceof Field) {
             Field field = (Field) member;

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/WireObjectFactory.java (from r407954, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/ProxyObjectFactory.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/WireObjectFactory.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/WireObjectFactory.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/ProxyObjectFactory.java&r1=407954&r2=407965&rev=407965&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/ProxyObjectFactory.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/injection/WireObjectFactory.java Sat May 20 00:40:32 2006
@@ -5,15 +5,15 @@
 import org.apache.tuscany.spi.wire.SourceWire;
 
 /**
- * Uses a proxy factory to return an object instance
+ * Uses a wire to return an object instance
  *
  * @version $Rev$ $Date$
  */
-public class ProxyObjectFactory implements ObjectFactory {
+public class WireObjectFactory implements ObjectFactory {
 
     private SourceWire factory;
 
-    public ProxyObjectFactory(SourceWire factory) {
+    public WireObjectFactory(SourceWire factory) {
         this.factory = factory;
     }
 

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/mock/context/MockTargetWire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/mock/context/MockTargetWire.java?rev=407965&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/mock/context/MockTargetWire.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/mock/context/MockTargetWire.java Sat May 20 00:40:32 2006
@@ -0,0 +1,66 @@
+package org.apache.tuscany.core.mock.context;
+
+import java.lang.reflect.Method;
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.tuscany.spi.context.TargetException;
+import org.apache.tuscany.spi.wire.TargetInvocationChain;
+import org.apache.tuscany.spi.wire.TargetWire;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public class MockTargetWire<T> implements TargetWire<T> {
+    private String serviceName;
+    private Class<T> businessInterface;
+    private T target;
+
+    public MockTargetWire(Class<T> businessInterface, T target) {
+        this.businessInterface = businessInterface;
+        this.target = target;
+    }
+
+    public String getServiceName() {
+        return serviceName;
+    }
+
+    public void setServiceName(String serviceName) {
+        this.serviceName = serviceName;
+    }
+
+    @SuppressWarnings("unchecked")
+    public T getTargetService() throws TargetException {
+        return target;
+    }
+
+    public Class<T> getBusinessInterface() {
+        return businessInterface;
+    }
+
+    public void setBusinessInterface(Class<T> businessInterface) {
+        this.businessInterface = businessInterface;
+    }
+
+    public Class[] getImplementedInterfaces() {
+        return new Class[0];
+    }
+
+    public Map<Method, TargetInvocationChain> getInvocationChains() {
+        return Collections.emptyMap();
+    }
+
+    public void addInvocationChain(Method method, TargetInvocationChain chain) {
+        throw new UnsupportedOperationException();
+    }
+
+    public void addInvocationChains(Map chains) {
+        throw new UnsupportedOperationException();
+    }
+
+    public void addInterface(Class claz) {
+        throw new UnsupportedOperationException();
+    }
+
+
+}

Modified: 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=407965&r1=407964&r2=407965&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemBindingBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/builder/SystemBindingBuilder.java Sat May 20 00:40:32 2006
@@ -1,10 +1,11 @@
 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.context.AutowireContext;
+import org.apache.tuscany.core.system.context.SystemReferenceContextImpl;
 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.core.system.wire.SystemSourceWire;
+import org.apache.tuscany.core.system.wire.SystemTargetAutowire;
 import org.apache.tuscany.model.BoundReference;
 import org.apache.tuscany.model.BoundService;
 import org.apache.tuscany.spi.QualifiedName;
@@ -20,17 +21,16 @@
 
     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;
+        QualifiedName targetName = new QualifiedName(boundService.getTarget().getPath());
+        SystemSourceWire<?> wire = new SystemSourceWire(boundService.getName(), targetName, interfaze);
+        return new SystemServiceContextImpl(boundService.getName(), interfaze, wire, parent);
     }
 
     public Context build(CompositeContext parent, BoundReference<SystemBinding> boundReference) {
+        assert(parent instanceof AutowireContext): "Parent must implement " + AutowireContext.class.getName();
         Class<?> interfaze = boundReference.getServiceContract().getInterface();
-        AutowireReferenceContextImpl ctx = new AutowireReferenceContextImpl(boundReference.getName(), interfaze, parent);
-        TargetWire<?> wire = new SystemTargetWire(interfaze, ctx);
+        SystemReferenceContextImpl ctx = new SystemReferenceContextImpl(boundReference.getName(), interfaze, parent);
+        TargetWire<?> wire = new SystemTargetAutowire(interfaze, (AutowireContext) parent);
         ctx.setTargetWire(wire);
         return ctx;
     }

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContextImpl.java (from r407953, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContextImpl.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContextImpl.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java&r1=407953&r2=407965&rev=407965&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireReferenceContextImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemReferenceContextImpl.java Sat May 20 00:40:32 2006
@@ -3,44 +3,33 @@
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 
-import org.apache.tuscany.core.context.AutowireContext;
 import org.apache.tuscany.spi.context.CompositeContext;
 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.model.Scope;
 
 /**
  * @version $Rev: 399991 $ $Date: 2006-05-04 23:44:07 -0700 (Thu, 04 May 2006) $
  */
-public class AutowireReferenceContextImpl<T> extends ReferenceContextExtension<T> implements SystemReferenceContext<T> {
+public class SystemReferenceContextImpl<T> extends ReferenceContextExtension<T> implements SystemReferenceContext<T> {
 
-    private AutowireContext<?> autowireContext;
-
-    public AutowireReferenceContextImpl(String name, Class<T> referenceInterface, CompositeContext parent) {
+    public SystemReferenceContextImpl(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) {
-        throw new UnsupportedOperationException();
+        parentContext = parent;
     }
 
     public T getService() throws TargetException {
-        return autowireContext.resolveInstance(referenceInterface);
+        return referenceInterface.cast(targetWire);
     }
 
     public InvocationHandler getHandler() throws TargetException {
         throw new UnsupportedOperationException();
     }
 
+    public TargetInvoker createTargetInvoker(String serviceName, Method operation) {
+        throw new UnsupportedOperationException();
+    }
 
 }

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=407965&r1=407964&r2=407965&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 Sat May 20 00:40:32 2006
@@ -32,26 +32,6 @@
     @SuppressWarnings("unchecked")
     public T getService() {
         return wire.getTargetService();
-
-
-//        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;
     }
 
 
@@ -64,11 +44,11 @@
     }
 
     public SourceWire<T> getSourceWire() {
-        throw new UnsupportedOperationException();
+        return wire;
     }
 
     public void setSourceWire(SourceWire<T> wire) {
-        throw new UnsupportedOperationException();
+        this.wire = wire;
     }
 
     public TargetInvoker createTargetInvoker(String serviceName, Method operation) {

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetAutowire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetAutowire.java?rev=407965&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetAutowire.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/wire/SystemTargetAutowire.java Sat May 20 00:40:32 2006
@@ -0,0 +1,63 @@
+package org.apache.tuscany.core.system.wire;
+
+import java.lang.reflect.Method;
+import java.util.Map;
+import java.util.Collections;
+
+import org.apache.tuscany.spi.wire.TargetWire;
+import org.apache.tuscany.spi.wire.TargetInvocationChain;
+import org.apache.tuscany.spi.context.TargetException;
+import org.apache.tuscany.core.context.AutowireContext;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public class SystemTargetAutowire<T> implements TargetWire<T> {
+
+    private Class<T> businessInterface;
+    private AutowireContext<?> context;
+
+    public SystemTargetAutowire(Class<T> businessInterface,AutowireContext context) {
+        this.businessInterface = businessInterface;
+        this.context = context;
+    }
+
+    public Class<T> getBusinessInterface() {
+        return businessInterface;
+    }
+
+    public void setBusinessInterface(Class<T> businessInterface) {
+        this.businessInterface = businessInterface;
+    }
+
+    public String getServiceName() {
+        return null;
+    }
+
+    public void setServiceName(String serviceName) {
+    }
+
+    public T getTargetService() throws TargetException {
+        return context.resolveInstance(businessInterface);
+    }
+
+    public Class[] getImplementedInterfaces() {
+        return new Class[0];
+    }
+
+    public Map<Method, TargetInvocationChain> getInvocationChains() {
+        return Collections.emptyMap();
+    }
+
+    public void addInvocationChain(Method method, TargetInvocationChain chain) {
+        throw new UnsupportedOperationException();
+    }
+
+    public void addInvocationChains(Map chains) {
+        throw new UnsupportedOperationException();
+    }
+
+    public void addInterface(Class claz) {
+        throw new UnsupportedOperationException();
+    }
+}
\ No newline at end of file

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=407965&r1=407964&r2=407965&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 Sat May 20 00:40:32 2006
@@ -5,9 +5,7 @@
 import java.util.Map;
 
 import org.apache.tuscany.spi.context.ComponentContext;
-import org.apache.tuscany.spi.context.ReferenceContext;
 import org.apache.tuscany.spi.context.TargetException;
-import org.apache.tuscany.spi.wire.SourceInvocationChain;
 import org.apache.tuscany.spi.wire.TargetInvocationChain;
 import org.apache.tuscany.spi.wire.TargetWire;
 
@@ -17,14 +15,8 @@
 public class SystemTargetWire<T> implements TargetWire<T> {
     private String serviceName;
     private Class<T> businessInterface;
-    private ReferenceContext<T> referenceContext;
     private ComponentContext<?> componentContext;
 
-    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;
@@ -46,11 +38,7 @@
 
     @SuppressWarnings("unchecked")
     public T getTargetService() throws TargetException {
-        if (referenceContext != null) {
-            return referenceContext.getService();
-        } else {
-            return (T)componentContext.getService(serviceName);
-        }
+        return (T) componentContext.getService(serviceName);
     }
 
     public Class<T> getBusinessInterface() {
@@ -70,10 +58,6 @@
     }
 
     public void addInvocationChain(Method method, TargetInvocationChain chain) {
-        throw new UnsupportedOperationException();
-    }
-
-    public void addInvocationChain(Method method, SourceInvocationChain chains) {
         throw new UnsupportedOperationException();
     }
 

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=407965&r1=407964&r2=407965&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 Sat May 20 00:40:32 2006
@@ -10,6 +10,7 @@
 import org.apache.tuscany.core.context.WorkContextImpl;
 import org.apache.tuscany.core.context.scope.ModuleScopeContext;
 import org.apache.tuscany.core.mock.MockContextFactory;
+import org.apache.tuscany.core.mock.context.MockTargetWire;
 import org.apache.tuscany.core.mock.component.Source;
 import org.apache.tuscany.core.mock.component.SourceImpl;
 import org.apache.tuscany.core.mock.component.Target;
@@ -19,9 +20,7 @@
 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.wire.SourceWire;
 import org.apache.tuscany.spi.wire.TargetWire;
@@ -36,15 +35,17 @@
         ModuleScopeContext scope = new ModuleScopeContext(ctx);
         SystemCompositeContext context = new SystemCompositeContextImpl();
         scope.start();
-        ReferenceContext<Target> serviceContext = new MockReferenceContext<Target>("service", Target.class, new TargetImpl());
+        MockReferenceContext<Target> serviceContext = new MockReferenceContext<Target>("service", Target.class);
+        TargetWire<Target> targetWire = new MockTargetWire<Target>(Target.class, new TargetImpl());
+        serviceContext.setTargetWire(targetWire);
         context.registerContext(serviceContext);
+
         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);
         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);

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=407965&r1=407964&r2=407965&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 Sat May 20 00:40:32 2006
@@ -6,17 +6,17 @@
 import org.apache.tuscany.core.mock.component.Target;
 import org.apache.tuscany.core.mock.component.TargetImpl;
 import org.apache.tuscany.core.mock.context.MockReferenceContext;
+import org.apache.tuscany.core.mock.context.MockTargetWire;
 import org.apache.tuscany.core.system.context.SystemCompositeContext;
 import org.apache.tuscany.core.system.context.SystemCompositeContextImpl;
+import org.apache.tuscany.core.system.context.SystemReferenceContext;
 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.QualifiedName;
 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;
+import org.apache.tuscany.spi.wire.TargetWire;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -28,10 +28,10 @@
         ModuleScopeContext scope = new ModuleScopeContext(ctx);
         SystemCompositeContext context = new SystemCompositeContextImpl();
         scope.start();
-        ReferenceContext<Target> referenceContext = new MockReferenceContext<Target>("reference", Target.class, new TargetImpl());
+        SystemReferenceContext<Target> referenceContext = new MockReferenceContext<Target>("reference", Target.class);
         context.registerContext(referenceContext);
-        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
+        TargetWire<Target> targetWire = new MockTargetWire<Target>(Target.class, new TargetImpl());
+        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);

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java?rev=407965&r1=407964&r2=407965&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java Sat May 20 00:40:32 2006
@@ -2,30 +2,28 @@
 
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
-import java.util.Map;
 
+import org.apache.tuscany.core.system.context.SystemReferenceContext;
+import org.apache.tuscany.model.Scope;
 import org.apache.tuscany.spi.context.AbstractContext;
-import org.apache.tuscany.spi.context.ReferenceContext;
 import org.apache.tuscany.spi.context.TargetException;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 import org.apache.tuscany.spi.wire.TargetWire;
-import org.apache.tuscany.model.Scope;
 
 /**
  * A mock reference context which returns a singleton
  *
  * @version $Rev: 399991 $ $Date: 2006-05-04 23:44:07 -0700 (Thu, 04 May 2006) $
  */
-public class MockReferenceContext<T> extends AbstractContext<T> implements ReferenceContext<T> {
+public class MockReferenceContext<T> extends AbstractContext<T> implements SystemReferenceContext<T> {
 
     private Class<T> referenceInterface;
-    private T instance;
+    private TargetWire<T> wire;
 
-    public MockReferenceContext(String name, Class<T> referenceInterface, T instance) {
+    public MockReferenceContext(String name, Class<T> referenceInterface) {
         super(name);
         assert (referenceInterface != null) : "Reference interface was null";
         this.referenceInterface = referenceInterface;
-        this.instance = instance;
     }
 
     public TargetInvoker createTargetInvoker(String serviceName, Method operation) {
@@ -37,7 +35,7 @@
     }
 
     public T getService() throws TargetException {
-        return instance;
+        return wire.getTargetService();
     }
 
     public InvocationHandler getHandler() throws TargetException {
@@ -45,22 +43,16 @@
     }
 
     public TargetWire<T> getTargetWire() {
-        throw new UnsupportedOperationException();
+        return wire;
     }
 
     public Class<T> getInterface() {
         return referenceInterface;
     }
 
-    public void addTargetWire(TargetWire wire) {
-        throw new UnsupportedOperationException();
+    public void setTargetWire(TargetWire<T> wire) {
+        this.wire = wire;
     }
 
-    public TargetWire getTargetWire(String serviceName) {
-        throw new UnsupportedOperationException();
-    }
 
-    public Map<String, TargetWire> getTargetWires() {
-        throw new UnsupportedOperationException();
-    }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java?rev=407965&r1=407964&r2=407965&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java Sat May 20 00:40:32 2006
@@ -9,10 +9,10 @@
 import org.apache.tuscany.core.context.scope.ModuleScopeContext;
 import org.apache.tuscany.core.mock.MockContextFactory;
 import org.apache.tuscany.core.mock.context.MockReferenceContext;
+import org.apache.tuscany.core.mock.context.MockTargetWire;
 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.wire.SourceWire;
 import org.apache.tuscany.spi.wire.TargetWire;
@@ -76,8 +76,9 @@
         scopeContext.start();
         SystemCompositeContext<?> parent = new SystemCompositeContextImpl("parent", null, null);
         parent.start();
-        ReferenceContext<Source> referenceContext = new MockReferenceContext<Source>(
-                "sourceReference", Source.class, new SourceImpl());
+        MockReferenceContext<Source> referenceContext = new MockReferenceContext<Source>("sourceReference", Source.class);
+        TargetWire<Source> wire = new MockTargetWire<Source>(Source.class, new SourceImpl());
+        referenceContext.setTargetWire(wire);
         parent.registerContext(referenceContext);
         scopeContext.publish(new ModuleStart(this, parent));
         Source source = parent.resolveInstance(Source.class);

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ServiceContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ServiceContext.java?rev=407965&r1=407964&r2=407965&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ServiceContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ServiceContext.java Sat May 20 00:40:32 2006
@@ -2,31 +2,31 @@
 
 import java.lang.reflect.InvocationHandler;
 
-import org.apache.tuscany.spi.wire.TargetWire;
 import org.apache.tuscany.spi.wire.SourceWire;
 
 /**
- * Manages the context for a service configured for a binding. Bindings uses an {@link java.lang.reflect.InvocationHandler}
- * to perform an invocation as in:
- *
+ * Manages the context for a service configured for a binding. Bindings uses an {@link
+ * java.lang.reflect.InvocationHandler} to perform an invocation as in:
+ * <p/>
  * <pre>
  *              CompositeContext compositeContext = ...
  *              ServiceContext ctx = compositeContext.getServiceContext(&quot;source&quot;);
  *              InvocationHandler handler = (InvocationHandler) ctx.getHandler();
  *              Object response = handler.invoke(null, operation, new Object[] { param });
  * </pre>
- *
- * The <code>Proxy</code> instance passed to <code>InvocationHandler</code> may be null as the client is invoking
- * directly on the handler.
- * <p>
- * Alternatively, the following will return a proxy implementing the service interface exposed by the entry point:
- *
+ * <p/>
+ * The <code>Proxy</code> instance passed to <code>InvocationHandler</code> may be null as the client is
+ * invoking directly on the handler.
+ * <p/>
+ * Alternatively, the following will return a proxy implementing the service interface exposed by the entry
+ * point:
+ * <p/>
  * <pre>
  *              CompositeContext compositeContext = ...
  *              ServiceContext ctx = compositeContext.getServiceContext(&quot;source&quot;);
  *              HelloWorld proxy = (Helloworld) ctx.getInstance();
  * </pre>
- *
+ * <p/>
  * The proxy returned will be backed by the econtext wire chain.
  *
  * @version $Rev: 399161 $ $Date: 2006-05-02 23:09:37 -0700 (Tue, 02 May 2006) $
@@ -35,7 +35,9 @@
 
     /**
      * Returns the handler responsible for flowing a request through the service context
-     * @throws org.apache.tuscany.spi.context.TargetException
+     *
+     * @throws TargetException
+     *
      */
     public InvocationHandler getHandler() throws TargetException;
 

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceContextExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceContextExtension.java?rev=407965&r1=407964&r2=407965&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceContextExtension.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceContextExtension.java Sat May 20 00:40:32 2006
@@ -1,6 +1,7 @@
 package org.apache.tuscany.spi.extension;
 
 import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
 
 import org.apache.tuscany.common.ObjectFactory;
 import org.apache.tuscany.spi.CoreRuntimeException;
@@ -10,6 +11,7 @@
 import org.apache.tuscany.spi.wire.SourceInvocationChain;
 import org.apache.tuscany.spi.wire.SourceWire;
 import org.apache.tuscany.spi.wire.WireInvocationHandler;
+import org.apache.tuscany.spi.wire.TargetInvoker;
 import org.apache.tuscany.model.Scope;
 
 /**
@@ -21,8 +23,8 @@
 
     protected SourceWire<T> sourceWire;
     protected ObjectFactory<WireInvocationHandler> handlerFactory;
-    // a proxy implementing the service exposed by the context backed by the invocation handler
-    private T proxy;
+    // a target implementing the service exposed by the context backed by the invocation handler
+    private T target;
 
     /**
      * Creates a new service context
@@ -48,12 +50,10 @@
 
 
     public T getService() throws TargetException {
-        if (proxy == null) {
-            proxy = sourceWire.getTargetService();
-
-
+        if (target == null) {
+            target = sourceWire.getTargetService();
         }
-        return proxy;
+        return target;
     }
 
     public InvocationHandler getHandler() {
@@ -71,4 +71,9 @@
             chain.setTargetInvoker(createTargetInvoker(sourceWire.getReferenceName(), chain.getMethod()));
         }
     }
+
+    public TargetInvoker createTargetInvoker(String serviceName, Method operation) {
+        throw new UnsupportedOperationException();
+    }
+
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetWire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetWire.java?rev=407965&r1=407964&r2=407965&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetWire.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetWire.java Sat May 20 00:40:32 2006
@@ -35,7 +35,6 @@
      */
     void setServiceName(String name);
 
-
     /**
      * Returns a proxy or the target instance for this wire
      */



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