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/21 04:30:18 UTC

svn commit: r408123 - in /incubator/tuscany/sandbox/jboynes/sca: core2/src/main/java/org/apache/tuscany/core/system/builder/ core2/src/main/java/org/apache/tuscany/core/system/context/ core2/src/test/java/org/apache/tuscany/core/integration/system/ cor...

Author: jmarino
Date: Sat May 20 19:30:17 2006
New Revision: 408123

URL: http://svn.apache.org/viewvc?rev=408123&view=rev
Log:
make SystemServiceContextImpl extend ServiceContextExtension

Modified:
    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/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/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/system/context/AutowireTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceContextExtension.java

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=408123&r1=408122&r2=408123&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 19:30:17 2006
@@ -23,7 +23,7 @@
         Class<?> interfaze = boundService.getServiceContract().getInterface();
         QualifiedName targetName = new QualifiedName(boundService.getTarget().getPath());
         SystemSourceWire<?> wire = new SystemSourceWire(boundService.getName(), targetName, interfaze);
-        return new SystemServiceContextImpl(boundService.getName(), interfaze, wire, parent);
+        return new SystemServiceContextImpl(boundService.getName(), wire, parent);
     }
 
     public Context build(CompositeContext parent, BoundReference<SystemBinding> boundReference) {

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=408123&r1=408122&r2=408123&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 Sat May 20 19:30:17 2006
@@ -7,6 +7,7 @@
 import java.util.Map;
 
 import org.apache.tuscany.common.ObjectFactory;
+import org.apache.tuscany.core.context.AutowireContext;
 import org.apache.tuscany.core.injection.ContextInjector;
 import org.apache.tuscany.core.injection.Injector;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
@@ -14,12 +15,10 @@
 import org.apache.tuscany.core.system.context.SystemAtomicContext;
 import org.apache.tuscany.core.system.context.SystemAtomicContextImpl;
 import org.apache.tuscany.core.system.model.SystemImplementation;
+import org.apache.tuscany.core.system.wire.SystemSourceAutowire;
 import org.apache.tuscany.core.system.wire.SystemSourceWire;
 import org.apache.tuscany.core.system.wire.SystemTargetWire;
-import org.apache.tuscany.core.system.wire.SystemTargetAutowire;
-import org.apache.tuscany.core.system.wire.SystemSourceAutowire;
 import org.apache.tuscany.core.util.JavaIntrospectionHelper;
-import org.apache.tuscany.core.context.AutowireContext;
 import org.apache.tuscany.model.Component;
 import org.apache.tuscany.model.ReferenceTarget;
 import org.apache.tuscany.model.Service;
@@ -36,8 +35,8 @@
 public class SystemComponentBuilder implements ComponentBuilder<SystemImplementation> {
 
     public ComponentContext build(CompositeContext parent, Component<SystemImplementation> component) throws BuilderConfigException {
-        assert(parent instanceof AutowireContext): "Parent must implement "+ AutowireContext.class.getName();
-        AutowireContext autowireContext = (AutowireContext)parent;
+        assert(parent instanceof AutowireContext): "Parent must implement " + AutowireContext.class.getName();
+        AutowireContext autowireContext = (AutowireContext) parent;
         PojoComponentType componentType = component.getImplementation().getComponentType();
         List<Class<?>> serviceInterfaces = new ArrayList<Class<?>>();
         for (Service service : componentType.getServices().values()) {
@@ -45,8 +44,7 @@
         }
         Constructor<?> constr;
         try {
-            constr = JavaIntrospectionHelper.getDefaultConstructor(
-                    component.getImplementation().getImplementationClass());
+            constr = JavaIntrospectionHelper.getDefaultConstructor(component.getImplementation().getImplementationClass());
         } catch (NoSuchMethodException e) {
             BuilderConfigException bce = new BuilderConfigException("Error building component", e);
             bce.setIdentifier(component.getName());
@@ -59,8 +57,7 @@
         Map<String, Member> members = componentType.getReferenceMembers();
         for (Injector injector : injectors) {
             if (injector instanceof ContextInjector) {
-                // a context injector is found; iterate and determine if the parent context
-                // implements the interface
+                // a context injector is found; determine if the parent context implements the interface
                 Class contextType = JavaIntrospectionHelper.introspectGeneric(injector.getClass(), 0);
                 if (contextType.isAssignableFrom(parent.getClass())) {
                     ((ContextInjector) injector).setContext(parent);
@@ -92,7 +89,7 @@
             }
             SourceWire<?> wire;
             if (target.getReference().isAutowire()) {
-                wire = new SystemSourceAutowire(referenceName,interfaze,autowireContext);
+                wire = new SystemSourceAutowire(referenceName, interfaze, autowireContext);
             } else {
                 //FIXME support multiplicity!
                 assert(target.getTargets().size() == 1): "Multiplicity not yet implemented";

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=408123&r1=408122&r2=408123&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 Sat May 20 19:30:17 2006
@@ -49,7 +49,7 @@
     }
 
     public void prepare() {
-        // overrid and do nothing since system services do not proxy
+        // override and do nothing since system services do not proxy
     }
 
 

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=408123&r1=408122&r2=408123&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 19:30:17 2006
@@ -3,57 +3,33 @@
 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.context.AbstractContext;
 import org.apache.tuscany.spi.context.CompositeContext;
+import org.apache.tuscany.spi.extension.ServiceContextExtension;
 import org.apache.tuscany.spi.wire.SourceWire;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
-public class SystemServiceContextImpl<T> extends AbstractContext<T> implements SystemServiceContext<T> {
+public class SystemServiceContextImpl<T> extends ServiceContextExtension<T> implements SystemServiceContext<T> {
 
-    private Class<T> interfaze;
-    private SourceWire<T> wire;
-
-    public SystemServiceContextImpl(String name, Class<T> interfaze, SourceWire<T> wire, CompositeContext parent) throws CoreRuntimeException {
-        super(name);
-        this.interfaze = interfaze;
+    public SystemServiceContextImpl(String name, SourceWire<T> wire, CompositeContext parent) throws CoreRuntimeException {
+        this.name = name;
         this.parentContext = parent;
-        this.wire = wire;
-    }
-
-    public Scope getScope() {
-        return Scope.COMPOSITE;
+        this.sourceWire = wire;
     }
 
-    @SuppressWarnings("unchecked")
-    public T getService() {
-        return wire.getTargetService();
-    }
-
-
     public InvocationHandler getHandler() {
-        return null;
-    }
-
-    public Class<T> getInterface() {
-        return interfaze;
-    }
-
-    public SourceWire<T> getSourceWire() {
-        return wire;
-    }
-
-    public void setSourceWire(SourceWire<T> wire) {
-        this.wire = wire;
+        throw new UnsupportedOperationException();
     }
 
     public TargetInvoker createTargetInvoker(String serviceName, Method operation) {
         throw new UnsupportedOperationException();
     }
 
+    public void prepare() {
+        // override and do nothing since system services do not proxy
+    }    
 
 }

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=408123&r1=408122&r2=408123&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 Sat May 20 19:30:17 2006
@@ -34,7 +34,7 @@
         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);
+        SystemServiceContext<Target> serviceContext = new SystemServiceContextImpl<Target>("service", 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=408123&r1=408122&r2=408123&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 19:30:17 2006
@@ -33,7 +33,7 @@
         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);
+        SystemServiceContext<Target> serviceContext = new SystemServiceContextImpl<Target>("service", 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/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=408123&r1=408122&r2=408123&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 19:30:17 2006
@@ -60,7 +60,7 @@
         SourceWire<Source> wire = new SystemSourceWire<Source>("sourceService", new QualifiedName("source"), Source.class);
         wire.setTargetWire(targetWire);
 
-        SystemServiceContext<Source> serviceContext = new SystemServiceContextImpl<Source>("sourceService", Source.class, wire, parent);
+        SystemServiceContext<Source> serviceContext = new SystemServiceContextImpl<Source>("sourceService", wire, parent);
         parent.registerContext(serviceContext);
         parent.registerContext(context);
         scopeContext.publish(new ModuleStart(this, parent));

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=408123&r1=408122&r2=408123&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 19:30:17 2006
@@ -23,7 +23,6 @@
 
     protected SourceWire<T> sourceWire;
     protected ObjectFactory<WireInvocationHandler> handlerFactory;
-    // a target implementing the service exposed by the context backed by the invocation handler
     private T target;
 
     /**
@@ -41,6 +40,7 @@
     }
 
     public void setSourceWire(SourceWire<T> wire) {
+        target = null;
         sourceWire = wire;
     }
 



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