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/12/23 13:14:11 UTC

svn commit: r489888 [2/6] - in /incubator/tuscany/java/sca: kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/ kernel/core/src/main/java/org/apache/tuscany/core/builder/ kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ kerne...

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java Sat Dec 23 04:14:05 2006
@@ -20,38 +20,47 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.component.AbstractSCAObject;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
 import org.apache.tuscany.spi.component.TargetDestructionException;
 import org.apache.tuscany.spi.component.TargetInitializationException;
 import org.apache.tuscany.spi.component.TargetResolutionException;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.model.ServiceDefinition;
 import org.apache.tuscany.spi.wire.InboundWire;
 import org.apache.tuscany.spi.wire.OutboundWire;
 import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.spi.wire.WireService;
+
+import org.apache.tuscany.core.wire.jdk.JDKWireService;
 
 /**
  * An {@link org.apache.tuscany.spi.component.AtomicComponent} used when registering objects directly into a composite
  *
  * @version $$Rev$$ $$Date$$
  */
-public class SystemSingletonAtomicComponent<S, T extends S> extends AbstractSCAObject
-    implements SystemAtomicComponent {
+public class SystemSingletonAtomicComponent<S, T extends S> extends AbstractSCAObject implements AtomicComponent {
 
     private T instance;
     private List<Class<?>> serviceInterfaces;
+    private Map<String, InboundWire> inboundWires;
+    private WireService wireService = new JDKWireService();
 
     public SystemSingletonAtomicComponent(String name, CompositeComponent parent, Class<S> interfaze, T instance) {
         super(name, parent);
         this.instance = instance;
         serviceInterfaces = new ArrayList<Class<?>>(1);
         serviceInterfaces.add(interfaze);
+        inboundWires = new HashMap<String, InboundWire>();
+        initWire(interfaze);
     }
 
 
@@ -62,6 +71,10 @@
         super(name, parent);
         this.instance = instance;
         this.serviceInterfaces = serviceInterfaces;
+        inboundWires = new HashMap<String, InboundWire>();
+        for (Class<?> interfaze : serviceInterfaces) {
+            initWire(interfaze);
+        }
     }
 
     public List<Class<?>> getServiceInterfaces() {
@@ -92,14 +105,6 @@
         return instance;
     }
 
-    public Object getServiceInstance(String name) throws TargetResolutionException {
-        return getTargetInstance();
-    }
-
-    public Object getServiceInstance() throws TargetResolutionException {
-        return getTargetInstance();
-    }
-
     public void init(Object instance) throws TargetInitializationException {
 
     }
@@ -117,15 +122,15 @@
     }
 
     public void addInboundWire(InboundWire wire) {
-        throw new UnsupportedOperationException();
+        inboundWires.put(wire.getServiceName(), wire);
     }
 
     public Map<String, InboundWire> getInboundWires() {
-        return Collections.emptyMap();
+        return inboundWires;
     }
 
     public InboundWire getInboundWire(String serviceName) {
-        return null;
+        return inboundWires.get(serviceName);
     }
 
     public void addOutboundWire(OutboundWire wire) {
@@ -148,4 +153,13 @@
     public boolean isSystem() {
         return true;
     }
+
+    private void initWire(Class<?> interfaze) {
+        JavaServiceContract serviceContract = new JavaServiceContract(interfaze);
+        ServiceDefinition def = new ServiceDefinition(interfaze.getName(), serviceContract, false);
+        InboundWire wire = wireService.createWire(def);
+        wire.setContainer(this);
+        inboundWires.put(wire.getServiceName(), wire);
+    }
+
 }

Copied: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java (from r489552, incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java?view=diff&rev=489888&p1=incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java&r1=489552&p2=incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java Sat Dec 23 04:14:05 2006
@@ -21,19 +21,18 @@
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.component.TargetResolutionException;
-
-import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
+import org.apache.tuscany.spi.wire.OutboundWire;
 
 /**
- * Uses a system wire to return an object instance
+ * Returns a target instance from a wire
  *
  * @version $Rev$ $Date$
  */
-public class SystemWireObjectFactory implements ObjectFactory {
+public class WireObjectFactory implements ObjectFactory {
 
-    private SystemOutboundWire wire;
+    private OutboundWire wire;
 
-    public SystemWireObjectFactory(SystemOutboundWire factory) {
+    public WireObjectFactory(OutboundWire factory) {
         this.wire = factory;
     }
 

Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java?view=auto&rev=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java Sat Dec 23 04:14:05 2006
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.injection;
+
+import org.apache.tuscany.spi.ObjectCreationException;
+
+/**
+ * Denotes an invalid resource type, i.e. that is not a component
+ *
+ * @version $Rev$ $Date$
+ */
+public class InvalidResourceTypeException extends ObjectCreationException {
+
+    public InvalidResourceTypeException(String message, String identifier) {
+        super(message, identifier);
+    }
+}

Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/PojoObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/PojoObjectFactory.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/PojoObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/PojoObjectFactory.java Sat Dec 23 04:14:05 2006
@@ -94,7 +94,6 @@
         for (int i = 0; i < size; i++) {
             ObjectFactory<?> objectFactory = initializerFactories[i];
             if (objectFactory == null) {
-                // FIXME JFM
                 String name = ctr.getName();
                 throw new ObjectCallbackException("Null object factory for constructor parameter [" + i + "]", name);
             }
@@ -105,7 +104,7 @@
             return ctr.newInstance(initargs);
         } catch (IllegalArgumentException e) {
             String name = ctr.getName();
-            throw new ObjectCreationException("Exception thrown by constructor [" + name + "]", e);
+            throw new ObjectCreationException("Exception thrown by constructor", name, e);
         } catch (InstantiationException e) {
             String name = ctr.getDeclaringClass().getName();
             throw new AssertionError("Class is not instantiable [" + name + "]");
@@ -114,7 +113,7 @@
             throw new AssertionError("Constructor is not accessible [" + name + "]");
         } catch (InvocationTargetException e) {
             String name = ctr.getName();
-            throw new ObjectCreationException("Exception thrown by constructor [" + name + "]", e);
+            throw new ObjectCreationException("Exception thrown by constructor", name, e);
         }
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java Sat Dec 23 04:14:05 2006
@@ -20,11 +20,13 @@
 
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.ObjectFactory;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.SCAObject;
 import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.host.ResourceHost;
 import org.apache.tuscany.spi.host.ResourceResolutionException;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 /**
  * Resolves a runtime resource to be injected on a field or method of a Java component type marked with {@link
@@ -86,6 +88,7 @@
         this.optional = optional;
     }
 
+    @SuppressWarnings({"unchecked"})
     public T getInstance() throws ObjectCreationException {
         if (resolveFromHost) {
             return resolveInstance();
@@ -93,7 +96,10 @@
             T instance = null;
             if (mappedName == null) {
                 try {
-                    instance = parent.resolveSystemInstance(type);
+                    InboundWire wire = parent.resolveSystemAutowire(type);
+                    if (wire != null) {
+                        instance = (T) wire.getTargetService();
+                    }
                 } catch (TargetResolutionException e) {
                     throw new ObjectCreationException(e);
                 }
@@ -108,14 +114,16 @@
                 return instance;
             } else {
                 SCAObject child = parent.getSystemChild(mappedName);
-                if (child != null) {
+                if (child instanceof AtomicComponent) {
                     try {
-                        instance = type.cast(child.getServiceInstance());
+                        AtomicComponent component = (AtomicComponent) child;
+                        instance = type.cast(component.getTargetInstance());
                     } catch (TargetResolutionException e) {
                         throw new ObjectCreationException(e);
                     }
-                }
-                if (instance == null && !optional) {
+                } else if (child != null) {
+                    throw new InvalidResourceTypeException("Invalid resource type", mappedName);
+                } else if (!optional) {
                     throw new ResourceNotFoundException("No resource found for URI", mappedName);
                 }
                 return instance;

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/CompositeContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/CompositeContextImpl.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/CompositeContextImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/CompositeContextImpl.java Sat Dec 23 04:14:05 2006
@@ -24,15 +24,23 @@
 import org.osoa.sca.ServiceReference;
 import org.osoa.sca.ServiceRuntimeException;
 
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.TargetResolutionException;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.WireService;
 
 
 public class CompositeContextImpl extends SCA implements CompositeContext {
     protected final CompositeComponent composite;
+    protected final WireService wireService;
 
-    public CompositeContextImpl(final CompositeComponent composite) {
+    public CompositeContextImpl(final CompositeComponent composite, final WireService wireService) {
         this.composite = composite;
+        this.wireService = wireService;
     }
 
     public void start() {
@@ -64,11 +72,41 @@
     }
 
     public <T> T locateService(Class<T> serviceInterface, String serviceName) throws ServiceRuntimeException {
-        try {
-            return composite.locateService(serviceInterface, serviceName);
-        } catch (TargetResolutionException e) {
-            throw new ServiceRuntimeException(e);
+        String name = serviceInterface.getName();
+        QualifiedName qName = new QualifiedName(serviceName);
+        SCAObject child = composite.getChild(qName.getPartName());
+        InboundWire wire;
+        if (child instanceof CompositeComponent) {
+            CompositeComponent childComposite = (CompositeComponent) child;
+            child = childComposite.getChild(qName.getPortName());
+            if (child == null) {
+                throw new ServiceRuntimeException("Service not found [" + serviceName + "]");
+            }
+            wire = getInboundWire(child, name, "");
+        } else {
+            wire = getInboundWire(child, name, qName.getPortName());
         }
+        return wireService.createProxy(serviceInterface, wire);
+    }
+
+    private InboundWire getInboundWire(SCAObject child, String name, String serviceName) {
+        InboundWire wire;
+        if (child instanceof AtomicComponent) {
+            wire = ((AtomicComponent) child).getInboundWire(name);
+            if (wire == null) {
+                String qName = serviceName + QualifiedName.NAME_SEPARATOR + name;
+                throw new ServiceRuntimeException("Service not found [" + qName + "]");
+            }
+        } else if (child instanceof Service) {
+            wire = ((Service) child).getInboundWire();
+        } else if (child instanceof Reference) {
+            wire = ((Reference) child).getInboundWire();
+        } else if (child == null) {
+            throw new ServiceRuntimeException("Service not found [" + serviceName + "]");
+        } else {
+            throw new ServiceRuntimeException("Invalid service type [" + child.getClass().getName() + "]");
+        }
+        return wire;
     }
 
     public ServiceReference newSession(String arg0) {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java Sat Dec 23 04:14:05 2006
@@ -29,6 +29,8 @@
 import org.apache.tuscany.spi.bootstrap.ComponentNames;
 import org.apache.tuscany.spi.bootstrap.RuntimeComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.deployer.Deployer;
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.model.ComponentDefinition;
@@ -41,6 +43,7 @@
 import org.apache.tuscany.host.Launcher;
 import org.apache.tuscany.host.MonitorFactory;
 import org.apache.tuscany.host.RuntimeInfo;
+import org.apache.tuscany.host.runtime.InitializationException;
 import org.apache.tuscany.host.monitor.FormatterRegistry;
 
 /**
@@ -115,7 +118,11 @@
         // start the system
         composite.start();
 
-        deployer = (Deployer) composite.getSystemChild("deployer").getServiceInstance();
+        SCAObject child = composite.getSystemChild(ComponentNames.TUSCANY_DEPLOYER);
+        if (!(child instanceof AtomicComponent)) {
+            throw new InitializationException("Deployer must be an atomic component");
+        }
+        deployer = (Deployer) ((AtomicComponent) child).getTargetInstance();
         runtime.getRootComponent().start();
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java Sat Dec 23 04:14:05 2006
@@ -62,6 +62,7 @@
 import org.apache.tuscany.spi.model.PropertyValue;
 import org.apache.tuscany.spi.model.ReferenceDefinition;
 import org.apache.tuscany.spi.model.ReferenceTarget;
+import org.apache.tuscany.spi.model.ServiceDefinition;
 
 import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
 import org.apache.tuscany.core.property.SimplePropertyObjectFactory;
@@ -92,6 +93,7 @@
         return COMPONENT;
     }
 
+    @SuppressWarnings("unchecked")
     public ComponentDefinition<?> load(CompositeComponent parent,
                                        ModelObject object,
                                        XMLStreamReader reader,
@@ -139,6 +141,17 @@
                                 .getImplementation() instanceof SystemImplementation)) {
                                 populatePropertyValues(componentDefinition);
                             }
+                            ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
+                                (ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>) componentDefinition
+                                    .getImplementation().getComponentType();
+                            for (ReferenceDefinition ref : type.getReferences().values()) {
+                                if (ref.isAutowire()) {
+                                    ReferenceTarget referenceTarget = new ReferenceTarget();
+                                    referenceTarget.setReferenceName(ref.getName());
+                                    componentDefinition.add(referenceTarget);
+                                }
+                            }
+
                             validate(componentDefinition);
                             return componentDefinition;
                         }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java Sat Dec 23 04:14:05 2006
@@ -21,6 +21,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.SCAObject;
 import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.model.Operation;
@@ -37,7 +38,6 @@
  * @version $Rev$ $Date$
  */
 public class InboundWireImpl implements InboundWire {
-
     private String serviceName;
     private ServiceContract serviceContract;
     private OutboundWire targetWire;
@@ -46,8 +46,13 @@
     private Map<Object, Map<Operation<?>, OutboundInvocationChain>> callbackSourceChainMaps =
         new HashMap<Object, Map<Operation<?>, OutboundInvocationChain>>();
     private SCAObject container;
+    private AtomicComponent targetComponent;
 
     public Object getTargetService() throws TargetResolutionException {
+        // JFM fixme hack
+        if (targetWire == null && targetComponent != null) {
+            return targetComponent.getTargetInstance();
+        }
         assert targetWire != null;
         // optimized, no interceptors or handlers on either end
         return targetWire.getTargetService();
@@ -139,6 +144,9 @@
     }
 
     public void setContainer(SCAObject container) {
+        if (container instanceof AtomicComponent) {
+            targetComponent = (AtomicComponent) container;
+        }
         this.container = container;
     }
 }

Added: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java?view=auto&rev=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java Sat Dec 23 04:14:05 2006
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.wire;
+
+import org.apache.tuscany.spi.component.TargetResolutionException;
+
+/**
+ * A specialized wire that points back to its target container. Used to autowire to parent composites
+ *
+ * @version $Rev$ $Date$
+ */
+public class LoopBackWire extends InboundWireImpl {
+
+    public Object getTargetService() throws TargetResolutionException {
+        return getContainer();
+    }
+}

Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java Sat Dec 23 04:14:05 2006
@@ -38,7 +38,6 @@
  * @version $Rev$ $Date$
  */
 public class OutboundWireImpl implements OutboundWire {
-
     private ServiceContract serviceContract;
     private Class<?>[] callbackInterfaces;
     private Map<Operation<?>, OutboundInvocationChain> chains = new HashMap<Operation<?>, OutboundInvocationChain>();
@@ -48,6 +47,7 @@
     private QualifiedName targetName;
     private InboundWire targetWire;
     private SCAObject container;
+    private boolean autowire;
 
     public Object getTargetService() throws TargetResolutionException {
         assert targetWire != null;
@@ -125,6 +125,14 @@
 
     public void setTargetName(QualifiedName targetName) {
         this.targetName = targetName;
+    }
+
+    public boolean isAutowire() {
+        return autowire;
+    }
+
+    public void setAutowire(boolean autowire) {
+        this.autowire = autowire;
     }
 
     public boolean isOptimizable() {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java Sat Dec 23 04:14:05 2006
@@ -33,6 +33,7 @@
 import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.component.WorkContext;
 import org.apache.tuscany.spi.model.Binding;
+import org.apache.tuscany.spi.model.BindlessServiceDefinition;
 import org.apache.tuscany.spi.model.BoundServiceDefinition;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.ComponentType;
@@ -61,6 +62,7 @@
 import org.apache.tuscany.core.wire.InvokerInterceptor;
 import org.apache.tuscany.core.wire.OutboundInvocationChainImpl;
 import org.apache.tuscany.core.wire.OutboundWireImpl;
+import org.apache.tuscany.core.wire.SynchronousBridgingInterceptor;
 
 /**
  * the default implementation of a wire service that uses JDK dynamic proxies
@@ -142,14 +144,18 @@
     }
 
     public OutboundWire createWire(ReferenceTarget reference, ReferenceDefinition def) {
-        //TODO multiplicity
-        if (reference.getTargets().size() != 1) {
+        if (!def.isAutowire() && reference.getTargets().size() != 1) {
+            //TODO multiplicity
             throw new UnsupportedOperationException();
         }
         ServiceContract<?> contract = def.getServiceContract();
         OutboundWire wire = new OutboundWireImpl();
-        QualifiedName qName = new QualifiedName(reference.getTargets().get(0).toString());
-        wire.setTargetName(qName);
+        if (!def.isAutowire()) {
+            QualifiedName qName = new QualifiedName(reference.getTargets().get(0).toString());
+            wire.setTargetName(qName);
+        } else {
+            wire.setAutowire(true);
+        }
         wire.setServiceContract(contract);
         wire.setReferenceName(reference.getReferenceName());
         for (Operation<?> operation : contract.getOperations().values()) {
@@ -180,7 +186,11 @@
             InboundInvocationChain chain = createInboundChain(operation);
             // TODO handle policy
             //TODO statement below could be cleaner
-            chain.addInterceptor(new InvokerInterceptor());
+            if (service instanceof BindlessServiceDefinition) {
+                chain.addInterceptor(new SynchronousBridgingInterceptor());
+            } else {
+                chain.addInterceptor(new InvokerInterceptor());
+            }
             wire.addInvocationChain(operation, chain);
         }
         if (contract.getCallbackName() != null) {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java Sat Dec 23 04:14:05 2006
@@ -71,6 +71,7 @@
         InboundWire inboundWire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
         EasyMock.expect(inboundWire.getInvocationChains()).andReturn(inboundChains).atLeastOnce();
+        EasyMock.expect(inboundWire.getContainer()).andReturn(EasyMock.createNiceMock(SCAObject.class));
         EasyMock.replay(inboundWire);
 
         OutboundInvocationChain outboundChain = EasyMock.createMock(OutboundInvocationChain.class);
@@ -126,7 +127,7 @@
         EasyMock.expectLastCall().andReturn(null);
         EasyMock.replay(target);
 
-        EasyMock.expect(targetWire.getContainer()).andReturn(target);
+        EasyMock.expect(targetWire.getContainer()).andReturn(target).atLeastOnce();
         EasyMock.replay(targetWire);
 
         // create the parent composite
@@ -144,6 +145,7 @@
         inboundChains.put(operation, inboundChain);
         InboundWire inboundWire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
+        EasyMock.expect(inboundWire.getContainer()).andReturn(EasyMock.createNiceMock(SCAObject.class));
         EasyMock.expect(inboundWire.getInvocationChains()).andReturn(inboundChains).atLeastOnce();
         EasyMock.replay(inboundWire);
 
@@ -175,7 +177,7 @@
         EasyMock.expect(service.getOutboundWire()).andReturn(outboundWire);
         EasyMock.replay(service);
 
-        EasyMock.expect(outboundWire.getContainer()).andReturn(service);
+        EasyMock.expect(outboundWire.getContainer()).andReturn(service).atLeastOnce();
         EasyMock.replay(outboundWire);
 
         connector.connect(service);
@@ -214,7 +216,7 @@
         EasyMock.expectLastCall().andReturn(null);
         EasyMock.replay(target);
 
-        EasyMock.expect(targetWire.getContainer()).andReturn(target);
+        EasyMock.expect(targetWire.getContainer()).andReturn(target).atLeastOnce();
         EasyMock.replay(targetWire);
 
         // create the parent composite
@@ -233,6 +235,7 @@
             new HashMap<Operation<?>, OutboundInvocationChain>();
         outboundChains.put(operation, outboundChain);
         OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
+        EasyMock.expect(outboundWire.isAutowire()).andReturn(false);
         EasyMock.expect(outboundWire.getServiceContract()).andReturn(contract).anyTimes();
         EasyMock.expect(outboundWire.getTargetName()).andReturn(new QualifiedName("target/FooService")).anyTimes();
         EasyMock.expect(outboundWire.getInvocationChains()).andReturn(outboundChains).anyTimes();
@@ -255,7 +258,7 @@
         EasyMock.expectLastCall().andReturn(Collections.emptyMap());
         EasyMock.replay(source);
 
-        EasyMock.expect(outboundWire.getContainer()).andReturn(source);
+        EasyMock.expect(outboundWire.getContainer()).andReturn(source).atLeastOnce();
         EasyMock.replay(outboundWire);
 
         connector.connect(source);
@@ -309,6 +312,7 @@
         EasyMock.expectLastCall().andReturn(null);
         EasyMock.replay(parent);
         OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
+        EasyMock.expect(outboundWire.isAutowire()).andReturn(false);
         EasyMock.expect(outboundWire.getServiceContract()).andReturn(contract).anyTimes();
         EasyMock.expect(outboundWire.getTargetName()).andReturn(new QualifiedName("target/FooService")).anyTimes();
         EasyMock.expect(outboundWire.getInvocationChains()).andReturn(null).anyTimes();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,8 +18,8 @@
  */
 package org.apache.tuscany.core.component.scope;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
 import org.apache.tuscany.spi.component.TargetNotFoundException;
 
 import junit.framework.TestCase;
@@ -43,7 +43,7 @@
     public void testLifecycleManagement() throws Exception {
         CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
         scopeContext.start();
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
         // start the request
         CompositeScopeInitDestroyComponent o1 =
             (CompositeScopeInitDestroyComponent) scopeContext.getInstance(component);
@@ -61,7 +61,7 @@
     public void testGetAssociatedInstance() throws Exception {
         CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
         scopeContext.start();
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
         // start the request
         scopeContext.getInstance(component);
         scopeContext.getAssociatedInstance(component);
@@ -70,7 +70,7 @@
     public void testGetAssociatedInstanceNonExistent() throws Exception {
         CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
         scopeContext.start();
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
         // start the request
         try {
             scopeContext.getAssociatedInstance(component);
@@ -84,7 +84,7 @@
         CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
         scopeContext.start();
 
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
 
         CompositeScopeInitDestroyComponent o1 =
             (CompositeScopeInitDestroyComponent) scopeContext.getInstance(component);
@@ -113,7 +113,7 @@
         super.tearDown();
     }
 
-    private SystemAtomicComponent createComponent(ScopeContainer scopeContainer) {
+    private AtomicComponent createComponent(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setScopeContainer(scopeContainer);
         configuration.addServiceInterface(CompositeScopeInitDestroyComponent.class);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,6 +18,13 @@
  */
 package org.apache.tuscany.core.component.scope;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.services.store.StoreMonitor;
+
+import junit.framework.TestCase;
 import org.apache.tuscany.core.component.WorkContextImpl;
 import org.apache.tuscany.core.component.event.ConversationEnd;
 import org.apache.tuscany.core.implementation.PojoConfiguration;
@@ -27,15 +34,8 @@
 import org.apache.tuscany.core.injection.PojoObjectFactory;
 import org.apache.tuscany.core.mock.component.ConversationalScopeInitDestroyComponent;
 import org.apache.tuscany.core.services.store.memory.MemoryStore;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.services.store.StoreMonitor;
 import org.easymock.EasyMock;
 
-import junit.framework.TestCase;
-
 /**
  * @version $$Rev: 471111 $$ $$Date: 2006-11-03 23:06:48 -0500 (Fri, 03 Nov 2006) $$
  */
@@ -53,7 +53,7 @@
         WorkContext workContext = new WorkContextImpl();
         ConversationalScopeContainer scopeContext = new ConversationalScopeContainer(store, workContext, null);
         scopeContext.start();
-        SystemAtomicComponent atomicContext = createContext(scopeContext);
+        AtomicComponent atomicContext = createContext(scopeContext);
         // start the request
         String conversation = "conv";
         workContext.setIdentifier(Scope.CONVERSATION, conversation);
@@ -78,7 +78,7 @@
         ConversationalScopeContainer scopeContext = new ConversationalScopeContainer(store, workContext, null);
         scopeContext.start();
 
-        SystemAtomicComponent atomicContext = createContext(scopeContext);
+        AtomicComponent atomicContext = createContext(scopeContext);
 
         String conversation1 = "conv";
         workContext.setIdentifier(Scope.CONVERSATION, conversation1);
@@ -104,18 +104,18 @@
     protected void setUp() throws Exception {
         super.setUp();
         factory = new PojoObjectFactory<ConversationalScopeInitDestroyComponent>(
-                ConversationalScopeInitDestroyComponent.class.getConstructor((Class[]) null));
+            ConversationalScopeInitDestroyComponent.class.getConstructor((Class[]) null));
         initInvoker = new MethodEventInvoker<Object>(
-                ConversationalScopeInitDestroyComponent.class.getMethod("init", (Class[]) null));
+            ConversationalScopeInitDestroyComponent.class.getMethod("init", (Class[]) null));
         destroyInvoker = new MethodEventInvoker<Object>(
-                ConversationalScopeInitDestroyComponent.class.getMethod("destroy", (Class[]) null));
+            ConversationalScopeInitDestroyComponent.class.getMethod("destroy", (Class[]) null));
     }
 
     protected void tearDown() throws Exception {
         super.tearDown();
     }
 
-    private SystemAtomicComponent createContext(ScopeContainer scopeContainer) {
+    private AtomicComponent createContext(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setScopeContainer(scopeContainer);
         configuration.addServiceInterface(ConversationalScopeInitDestroyComponent.class);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,8 +18,8 @@
  */
 package org.apache.tuscany.core.component.scope;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
 import org.apache.tuscany.spi.component.TargetNotFoundException;
 import org.apache.tuscany.spi.component.WorkContext;
 import org.apache.tuscany.spi.model.Scope;
@@ -46,7 +46,7 @@
         WorkContext workContext = new WorkContextImpl();
         HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
         scopeContext.start();
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
         // start the request
         Object session = new Object();
         workContext.setIdentifier(Scope.SESSION, session);
@@ -66,7 +66,7 @@
         WorkContext workContext = new WorkContextImpl();
         HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
         scopeContext.start();
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
         // start the request
         Object session = new Object();
         workContext.setIdentifier(Scope.SESSION, session);
@@ -78,7 +78,7 @@
         WorkContext workContext = new WorkContextImpl();
         HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
         scopeContext.start();
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
         // start the request
         Object session = new Object();
         workContext.setIdentifier(Scope.SESSION, session);
@@ -95,7 +95,7 @@
         HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
         scopeContext.start();
 
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
 
         Object session1 = new Object();
         workContext.setIdentifier(Scope.SESSION, session1);
@@ -131,7 +131,7 @@
         super.tearDown();
     }
 
-    private SystemAtomicComponent createComponent(ScopeContainer scopeContainer) {
+    private AtomicComponent createComponent(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setScopeContainer(scopeContainer);
         configuration.addServiceInterface(SessionScopeInitDestroyComponent.class);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,8 +18,8 @@
  */
 package org.apache.tuscany.core.component.scope;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
 import org.apache.tuscany.spi.component.TargetNotFoundException;
 
 import junit.framework.TestCase;
@@ -42,7 +42,7 @@
     public void testLifecycleManagement() throws Exception {
         RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
         scopeContext.start();
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
         // start the request
         RequestScopeInitDestroyComponent o1 =
             (RequestScopeInitDestroyComponent) scopeContext.getInstance(component);
@@ -59,7 +59,7 @@
     public void testGetAssociatedInstance() throws Exception {
         RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
         scopeContext.start();
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
         // start the request
         scopeContext.getInstance(component);
         scopeContext.getAssociatedInstance(component);
@@ -69,7 +69,7 @@
     public void testGetAssociatedInstanceNonExistent() throws Exception {
         RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
         scopeContext.start();
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
         // start the request
         try {
             scopeContext.getAssociatedInstance(component);
@@ -84,7 +84,7 @@
         RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
         scopeContext.start();
 
-        SystemAtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContext);
 
         RequestScopeInitDestroyComponent o1 =
             (RequestScopeInitDestroyComponent) scopeContext.getInstance(component);
@@ -114,7 +114,7 @@
         super.tearDown();
     }
 
-    private SystemAtomicComponent createComponent(ScopeContainer scopeContainer) {
+    private AtomicComponent createComponent(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setScopeContainer(scopeContainer);
         configuration.addServiceInterface(RequestScopeInitDestroyComponent.class);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,8 +18,8 @@
  */
 package org.apache.tuscany.core.component.scope;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
 import org.apache.tuscany.spi.component.TargetNotFoundException;
 import org.apache.tuscany.spi.component.WorkContext;
 
@@ -48,9 +48,9 @@
         WorkContext ctx = new WorkContextImpl();
         StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
         scope.start();
-        SystemAtomicComponent component1 = createComponent(scope);
+        AtomicComponent component1 = createComponent(scope);
         scope.register(component1);
-        SystemAtomicComponent component2 = createComponent(scope);
+        AtomicComponent component2 = createComponent(scope);
         scope.register(component2);
         StatelessComponentImpl comp1 = (StatelessComponentImpl) scope.getInstance(component1);
         Assert.assertNotNull(comp1);
@@ -64,7 +64,7 @@
         WorkContext ctx = new WorkContextImpl();
         StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
         scope.start();
-        SystemAtomicComponent component1 = createComponent(scope);
+        AtomicComponent component1 = createComponent(scope);
         scope.register(component1);
         try {
             // always throws an exception, which is the semantic for stateless implementations
@@ -81,11 +81,11 @@
         StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
 
         scope.start();
-        SystemAtomicComponent component1 = createComponent(scope);
+        AtomicComponent component1 = createComponent(scope);
         scope.register(component1);
         StatelessComponent comp1 = (StatelessComponentImpl) scope.getInstance(component1);
         Assert.assertNotNull(comp1);
-        SystemAtomicComponent component2 = createComponent(scope);
+        AtomicComponent component2 = createComponent(scope);
         scope.register(component2);
         StatelessComponentImpl comp2 = (StatelessComponentImpl) scope.getInstance(component2);
         Assert.assertNotNull(comp2);
@@ -110,13 +110,13 @@
 
     }
 
-    private SystemAtomicComponent createComponent(ScopeContainer scopeContainer) {
+    private AtomicComponent createComponent(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setScopeContainer(scopeContainer);
         configuration.addServiceInterface(RequestScopeInitDestroyComponent.class);
         configuration.setInstanceFactory(factory);
         configuration.setName("foo");
-        SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
+        AtomicComponent component = new SystemAtomicComponentImpl(configuration);
         scopeContainer.register(component);
         return component;
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInstanceLifecycleTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInstanceLifecycleTestCase.java Sat Dec 23 04:14:05 2006
@@ -19,7 +19,7 @@
 package org.apache.tuscany.core.component.scope;
 
 
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.TargetException;
 
 import junit.framework.TestCase;
@@ -46,7 +46,7 @@
         CompositeScopeContainer scope = new CompositeScopeContainer(null);
         scope.start();
         Foo comp = new Foo();
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.createInstance()).andReturn(comp);
         EasyMock.expect(component.getInitLevel()).andReturn(1).atLeastOnce();
         component.init(EasyMock.eq(comp));
@@ -70,7 +70,7 @@
         CompositeScopeContainer scope = new CompositeScopeContainer(null);
         scope.start();
         Foo comp = new Foo();
-        SystemAtomicComponent initDestroyComponent = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent initDestroyComponent = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(initDestroyComponent.createInstance()).andReturn(comp);
         EasyMock.expect(initDestroyComponent.getInitLevel()).andReturn(1).atLeastOnce();
         initDestroyComponent.init(EasyMock.eq(comp));
@@ -89,11 +89,11 @@
         CompositeScopeContainer scope = new CompositeScopeContainer(null);
         scope.start();
 
-        SystemAtomicComponent oneComponent = createComponent(0);
+        AtomicComponent oneComponent = createComponent(0);
         scope.register(oneComponent);
-        SystemAtomicComponent twoComponent = createComponent(0);
+        AtomicComponent twoComponent = createComponent(0);
         scope.register(twoComponent);
-        SystemAtomicComponent threeComponent = createComponent(0);
+        AtomicComponent threeComponent = createComponent(0);
         scope.register(threeComponent);
 
         scope.onEvent(new CompositeStart(this, null));
@@ -125,11 +125,11 @@
         CompositeScopeContainer scope = new CompositeScopeContainer(null);
         scope.start();
 
-        SystemAtomicComponent oneComponent = createComponent(1);
+        AtomicComponent oneComponent = createComponent(1);
         scope.register(oneComponent);
-        SystemAtomicComponent twoComponent = createComponent(1);
+        AtomicComponent twoComponent = createComponent(1);
         scope.register(twoComponent);
-        SystemAtomicComponent threeComponent = createComponent(1);
+        AtomicComponent threeComponent = createComponent(1);
         scope.register(threeComponent);
 
         scope.onEvent(new CompositeStart(this, null));
@@ -152,8 +152,8 @@
     }
 
     @SuppressWarnings("unchecked")
-    private SystemAtomicComponent createComponent(int init) throws TargetException {
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+    private AtomicComponent createComponent(int init) throws TargetException {
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.createInstance()).andStubAnswer(new IAnswer() {
             public Object answer() throws Throwable {
                 return new OrderedInitPojoImpl();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,7 +20,7 @@
 
 import java.lang.reflect.Constructor;
 
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.component.AtomicComponent;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.component.event.CompositeStart;
@@ -52,12 +52,12 @@
         Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
         configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
         configuration.setName("InitDestroy");
-        SystemAtomicComponent component = new SystemAtomicComponentImpl(configuration);
+        AtomicComponent component = new SystemAtomicComponentImpl(configuration);
         component.start();
 
         scope.onEvent(new CompositeStart(this, null));
-        Object instance = component.getServiceInstance();
-        assertSame(instance, component.getServiceInstance());
+        Object instance = component.getTargetInstance();
+        assertSame(instance, component.getTargetInstance());
 
         scope.onEvent(new CompositeStop(this, null));
         scope.stop();
@@ -66,7 +66,7 @@
         scope.start();
         scope.onEvent(new CompositeStart(this, null));
         component.start();
-        assertNotSame(instance, component.getServiceInstance());
+        assertNotSame(instance, component.getTargetInstance());
         scope.onEvent(new CompositeStop(this, null));
         scope.stop();
         component.stop();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,9 +18,9 @@
  */
 package org.apache.tuscany.core.component.scope;
 
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.component.WorkContext;
 import org.apache.tuscany.spi.event.RuntimeEventListener;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.services.store.StoreMonitor;
@@ -56,7 +56,7 @@
         scope.start();
 
         Foo comp = new Foo();
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.createInstance()).andReturn(comp);
         //EasyMock.expect(component.isEagerInit()).andReturn(true).atLeastOnce();
         EasyMock.expect(component.getMaxAge()).andReturn(1L).anyTimes();
@@ -85,11 +85,11 @@
         ConversationalScopeContainer scope = new ConversationalScopeContainer(store, ctx, null);
         scope.start();
 
-        SystemAtomicComponent oneComponent = createComponent(false);
+        AtomicComponent oneComponent = createComponent(false);
         scope.register(oneComponent);
-        SystemAtomicComponent twoComponent = createComponent(false);
+        AtomicComponent twoComponent = createComponent(false);
         scope.register(twoComponent);
-        SystemAtomicComponent threeComponent = createComponent(false);
+        AtomicComponent threeComponent = createComponent(false);
         scope.register(threeComponent);
 
         String convID = "ConvID";
@@ -127,11 +127,11 @@
         ConversationalScopeContainer scope = new ConversationalScopeContainer(store, ctx, null);
         scope.start();
 
-        SystemAtomicComponent oneComponent = createComponent(true);
+        AtomicComponent oneComponent = createComponent(true);
         scope.register(oneComponent);
-        SystemAtomicComponent twoComponent = createComponent(true);
+        AtomicComponent twoComponent = createComponent(true);
         scope.register(twoComponent);
-        SystemAtomicComponent threeComponent = createComponent(true);
+        AtomicComponent threeComponent = createComponent(true);
         scope.register(threeComponent);
 
         String convID = "ConvID";
@@ -145,8 +145,8 @@
     }
 
     @SuppressWarnings("unchecked")
-    private SystemAtomicComponent createComponent(boolean init) throws TargetException {
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+    private AtomicComponent createComponent(boolean init) throws TargetException {
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.createInstance()).andStubAnswer(new IAnswer() {
             public Object answer() throws Throwable {
                 return new OrderedInitPojoImpl();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,6 +20,12 @@
 
 import java.lang.reflect.Constructor;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.services.store.StoreMonitor;
+
+import junit.framework.TestCase;
 import org.apache.tuscany.core.component.WorkContextImpl;
 import org.apache.tuscany.core.component.event.ConversationEnd;
 import org.apache.tuscany.core.component.event.ConversationStart;
@@ -28,14 +34,8 @@
 import org.apache.tuscany.core.injection.MethodEventInvoker;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
 import org.apache.tuscany.core.services.store.memory.MemoryStore;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.services.store.StoreMonitor;
 import org.easymock.EasyMock;
 
-import junit.framework.TestCase;
-
 /**
  * Verifies the scope container properly disposes resources and can be restarted
  *
@@ -63,14 +63,14 @@
         Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
         configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
         configuration.setName("InitDestroy");
-        SystemAtomicComponent context = new SystemAtomicComponentImpl(configuration);
+        AtomicComponent context = new SystemAtomicComponentImpl(configuration);
         context.start();
 
         String conversation = "conv";
         ctx.setIdentifier(Scope.CONVERSATION, conversation);
         scope.onEvent(new ConversationStart(this, conversation));
-        Object instance = context.getServiceInstance();
-        assertSame(instance, context.getServiceInstance());
+        Object instance = context.getTargetInstance();
+        assertSame(instance, context.getTargetInstance());
 
         scope.onEvent(new ConversationEnd(this, conversation));
         scope.stop();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,9 +18,9 @@
  */
 package org.apache.tuscany.core.component.scope;
 
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.component.WorkContext;
 import org.apache.tuscany.spi.event.RuntimeEventListener;
 import org.apache.tuscany.spi.model.Scope;
 
@@ -45,7 +45,7 @@
         HttpSessionScopeContainer scope = new HttpSessionScopeContainer(ctx, null);
         scope.start();
         Foo comp = new Foo();
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.createInstance()).andReturn(comp);
         EasyMock.expect(component.isEagerInit()).andReturn(true).atLeastOnce();
         component.addListener(EasyMock.isA(RuntimeEventListener.class));
@@ -69,11 +69,11 @@
         HttpSessionScopeContainer scope = new HttpSessionScopeContainer(ctx, null);
         scope.start();
 
-        SystemAtomicComponent oneComponent = createComponent(false);
+        AtomicComponent oneComponent = createComponent(false);
         scope.register(oneComponent);
-        SystemAtomicComponent twoComponent = createComponent(false);
+        AtomicComponent twoComponent = createComponent(false);
         scope.register(twoComponent);
-        SystemAtomicComponent threeComponent = createComponent(false);
+        AtomicComponent threeComponent = createComponent(false);
         scope.register(threeComponent);
 
         Object session = new Object();
@@ -107,11 +107,11 @@
         HttpSessionScopeContainer scope = new HttpSessionScopeContainer(ctx, null);
         scope.start();
 
-        SystemAtomicComponent oneComponent = createComponent(true);
+        AtomicComponent oneComponent = createComponent(true);
         scope.register(oneComponent);
-        SystemAtomicComponent twoComponent = createComponent(true);
+        AtomicComponent twoComponent = createComponent(true);
         scope.register(twoComponent);
-        SystemAtomicComponent threeComponent = createComponent(true);
+        AtomicComponent threeComponent = createComponent(true);
         scope.register(threeComponent);
 
         Object session = new Object();
@@ -125,8 +125,8 @@
     }
 
     @SuppressWarnings("unchecked")
-    private SystemAtomicComponent createComponent(boolean init) throws TargetException {
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+    private AtomicComponent createComponent(boolean init) throws TargetException {
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.createInstance()).andStubAnswer(new IAnswer() {
             public Object answer() throws Throwable {
                 return new OrderedInitPojoImpl();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,16 +20,15 @@
 
 import java.lang.reflect.Constructor;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.model.Scope;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.component.WorkContextImpl;
 import org.apache.tuscany.core.component.event.HttpSessionEnd;
 import org.apache.tuscany.core.component.event.HttpSessionStart;
 import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.model.Scope;
-
 import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
 import org.apache.tuscany.core.injection.MethodEventInvoker;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
@@ -57,14 +56,14 @@
         Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
         configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
         configuration.setName("InitDestroy");
-        SystemAtomicComponent component = new SystemAtomicComponentImpl(configuration);
+        AtomicComponent component = new SystemAtomicComponentImpl(configuration);
         component.start();
 
         Object session = new Object();
         ctx.setIdentifier(Scope.SESSION, session);
         scope.onEvent(new HttpSessionStart(this, session));
-        Object instance = component.getServiceInstance();
-        assertSame(instance, component.getServiceInstance());
+        Object instance = component.getTargetInstance();
+        assertSame(instance, component.getTargetInstance());
 
         scope.onEvent(new HttpSessionEnd(this, session));
         scope.stop();
@@ -73,7 +72,7 @@
         scope.start();
         scope.onEvent(new HttpSessionStart(this, session));
         component.start();
-        assertNotSame(instance, component.getServiceInstance());
+        assertNotSame(instance, component.getTargetInstance());
         scope.onEvent(new HttpSessionEnd(this, session));
         scope.stop();
         component.stop();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java Sat Dec 23 04:14:05 2006
@@ -30,16 +30,16 @@
 import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.OutboundWire;
 
 import org.apache.tuscany.core.implementation.PojoConfiguration;
 import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
-import org.apache.tuscany.core.implementation.system.wire.SystemInboundWireImpl;
-import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
-import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWireImpl;
 import org.apache.tuscany.core.injection.MethodEventInvoker;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
+import org.apache.tuscany.core.wire.InboundWireImpl;
+import org.apache.tuscany.core.wire.OutboundWireImpl;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -60,7 +60,7 @@
         List<Class<?>> sourceInterfaces = new ArrayList<Class<?>>();
         sourceInterfaces.add(sourceClass);
         Map<String, AtomicComponent> components = new HashMap<String, AtomicComponent>();
-        SystemAtomicComponent targetComponent = createAtomicComponent(target, targetScopeContainer, targetClass);
+        AtomicComponent targetComponent = createAtomicComponent(target, targetScopeContainer, targetClass);
         PojoConfiguration sourceConfig = new PojoConfiguration();
         sourceConfig.getServiceInterfaces().addAll(sourceInterfaces);
         sourceConfig.setScopeContainer(sourceScopeContainer);
@@ -94,10 +94,15 @@
 
         sourceConfig.addReferenceSite(setter.getName(), setter);
         sourceConfig.setName(source);
-        SystemAtomicComponent sourceComponent = new SystemAtomicComponentImpl(sourceConfig);
+        AtomicComponent sourceComponent = new SystemAtomicComponentImpl(sourceConfig);
         QualifiedName targetName = new QualifiedName(target);
-        SystemOutboundWire wire = new SystemOutboundWireImpl(setter.getName(), targetName, targetClass);
-        InboundWire inboundWire = new SystemInboundWireImpl(targetName.getPortName(), targetClass, targetComponent);
+        OutboundWire wire = new OutboundWireImpl();
+        wire.setReferenceName(setter.getName());
+        wire.setServiceContract(new JavaServiceContract(targetClass));
+        InboundWire inboundWire = new InboundWireImpl();
+        inboundWire.setContainer(targetComponent);
+        inboundWire.setServiceContract(new JavaServiceContract(targetClass));
+        inboundWire.setServiceName(targetName.getPortName());
         wire.setTargetWire(inboundWire);
         sourceComponent.addOutboundWire(wire);
         components.put(source, sourceComponent);
@@ -106,7 +111,7 @@
     }
 
     @SuppressWarnings("unchecked")
-    public static SystemAtomicComponent createAtomicComponent(String name, ScopeContainer container, Class<?> clazz)
+    public static AtomicComponent createAtomicComponent(String name, ScopeContainer container, Class<?> clazz)
         throws NoSuchMethodException {
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setScopeContainer(container);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,9 +18,9 @@
  */
 package org.apache.tuscany.core.component.scope;
 
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.component.WorkContext;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.component.WorkContextImpl;
@@ -43,7 +43,7 @@
         RequestScopeContainer scope = new RequestScopeContainer(ctx, null);
         scope.start();
         Foo comp = new Foo();
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.createInstance()).andReturn(comp);
         EasyMock.expect(component.isEagerInit()).andReturn(false).atLeastOnce();
         component.init(EasyMock.eq(comp));
@@ -64,11 +64,11 @@
         RequestScopeContainer scope = new RequestScopeContainer(ctx, null);
         scope.start();
 
-        SystemAtomicComponent oneComponent = createComponent(false);
+        AtomicComponent oneComponent = createComponent(false);
         scope.register(oneComponent);
-        SystemAtomicComponent twoComponent = createComponent(false);
+        AtomicComponent twoComponent = createComponent(false);
         scope.register(twoComponent);
-        SystemAtomicComponent threeComponent = createComponent(false);
+        AtomicComponent threeComponent = createComponent(false);
         scope.register(threeComponent);
 
         scope.onEvent(new RequestStart(this));
@@ -100,11 +100,11 @@
         RequestScopeContainer scope = new RequestScopeContainer(ctx, null);
         scope.start();
 
-        SystemAtomicComponent oneComponent = createComponent(true);
+        AtomicComponent oneComponent = createComponent(true);
         scope.register(oneComponent);
-        SystemAtomicComponent twoComponent = createComponent(true);
+        AtomicComponent twoComponent = createComponent(true);
         scope.register(twoComponent);
-        SystemAtomicComponent threeComponent = createComponent(true);
+        AtomicComponent threeComponent = createComponent(true);
         scope.register(threeComponent);
 
         scope.onEvent(new RequestStart(this));
@@ -116,8 +116,8 @@
     }
 
     @SuppressWarnings("unchecked")
-    private SystemAtomicComponent createComponent(boolean init) throws TargetException {
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+    private AtomicComponent createComponent(boolean init) throws TargetException {
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.createInstance()).andStubAnswer(new IAnswer() {
             public Object answer() throws Throwable {
                 return new OrderedInitPojoImpl();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,13 +20,13 @@
 
 import java.lang.reflect.Constructor;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.WorkContext;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.component.WorkContextImpl;
 import org.apache.tuscany.core.component.event.RequestEnd;
 import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
 import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
 import org.apache.tuscany.core.injection.MethodEventInvoker;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
@@ -53,12 +53,12 @@
         configuration.setDestroyInvoker(destroyInvoker);
         Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
         configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
-        configuration.setName("InitDestroy");        
-        SystemAtomicComponent context = new SystemAtomicComponentImpl(configuration);
+        configuration.setName("InitDestroy");
+        AtomicComponent context = new SystemAtomicComponentImpl(configuration);
         context.start();
 
-        Object instance = context.getServiceInstance();
-        assertSame(instance, context.getServiceInstance());
+        Object instance = context.getTargetInstance();
+        assertSame(instance, context.getTargetInstance());
 
         scope.onEvent(new RequestEnd(this));
         scope.stop();
@@ -66,7 +66,7 @@
 
         scope.start();
         context.start();
-        assertNotSame(instance, context.getServiceInstance());
+        assertNotSame(instance, context.getTargetInstance());
         scope.onEvent(new RequestEnd(this));
         scope.stop();
         context.stop();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/WorkContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/WorkContextTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/WorkContextTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/WorkContextTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,9 +18,9 @@
  */
 package org.apache.tuscany.core.component.scope;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.component.AtomicComponent;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.component.WorkContextImpl;

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java Sat Dec 23 04:14:05 2006
@@ -166,19 +166,15 @@
             return null;
         }
 
-        public TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire) {
+        public Object getTargetInstance() throws TargetResolutionException {
             return null;
         }
 
-        public Object getServiceInstance(String name) throws TargetResolutionException {
+        public TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire) {
             return null;
         }
 
         public List<Class<?>> getServiceInterfaces() {
-            return null;
-        }
-
-        public Object getServiceInstance() throws TargetResolutionException {
             return null;
         }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java Sat Dec 23 04:14:05 2006
@@ -22,10 +22,10 @@
 import java.util.Map;
 import javax.xml.stream.XMLInputFactory;
 
+import org.apache.tuscany.spi.bootstrap.ComponentNames;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.deployer.Deployer;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.model.BoundServiceDefinition;
@@ -134,8 +134,10 @@
         assertNotNull(component);
         verify(parent);
         component.start();
-        Deployer newDeployer = (Deployer) component.getSystemServiceInstance("deployer");
+        SCAObject newDeployer = component.getSystemChild(ComponentNames.TUSCANY_DEPLOYER);
         assertNotNull(newDeployer);
+        SCAObject wireService = component.getSystemChild(ComponentNames.TUSCANY_WIRE_SERVICE);
+        assertNotNull(wireService);
 
 /*      // FIXME
         // load the boot2 file using the newly loaded deployer



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