You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2007/02/18 01:12:34 UTC

svn commit: r508831 [2/2] - 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/ kernel/core...

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoReferenceTestCase.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoReferenceTestCase.java Sat Feb 17 16:12:31 2007
@@ -53,6 +53,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
+        URI componentId = URI.create("sca://localhost/parent/");
         PojoComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
             new PojoComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
         JavaImplementation impl = new JavaImplementation(null, type);
@@ -87,8 +88,10 @@
         EasyMock.expect(parent.getUri()).andReturn(URI.create("foo"));
         EasyMock.replay(parent);
         ctx = EasyMock.createMock(DeploymentContext.class);
+        EasyMock.expect(ctx.getClassLoader()).andReturn(null);
+        EasyMock.expect(ctx.getScdlLocation()).andReturn(null);
+        EasyMock.expect(ctx.getComponentId()).andReturn(componentId);
         List<String> names = new ArrayList<String>();
-        EasyMock.expect(ctx.getPathNames()).andReturn(names).atLeastOnce();
         EasyMock.replay(ctx);
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderRefTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderRefTestCase.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderRefTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderRefTestCase.java Sat Feb 17 16:12:31 2007
@@ -44,6 +44,8 @@
  */
 public class ComponentLoaderRefTestCase extends TestCase {
     private ComponentLoader loader;
+    private final URI componentId = URI.create("sca://localhost/parent/");
+    private DeploymentContext context;
 
     public void testLoadReferenceNoFragment() throws LoaderException, XMLStreamException {
         PojoComponentType<?, MockReferenceDefinition, Property<?>> type =
@@ -59,16 +61,11 @@
         EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("reference");
         EasyMock.expect(reader.getElementText()).andReturn("target");
         EasyMock.replay(reader);
-        DeploymentContext context = EasyMock.createMock(DeploymentContext.class);
-        List<String> names = new ArrayList<String>();
-        names.add("parent");
-        EasyMock.expect(context.getPathNames()).andReturn(names);
-        EasyMock.replay(context);
         loader.loadReference(reader, context, definition);
         ReferenceTarget target = definition.getReferenceTargets().get("reference");
         assertEquals(1, target.getTargets().size());
         URI uri = target.getTargets().get(0);
-        assertEquals("parent/target", uri.toString());
+        assertEquals(componentId.resolve("target"), uri);
         assertNull(uri.getFragment());
         EasyMock.verify(reader);
     }
@@ -87,16 +84,11 @@
         EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("reference");
         EasyMock.expect(reader.getElementText()).andReturn("target/fragment");
         EasyMock.replay(reader);
-        DeploymentContext context = EasyMock.createMock(DeploymentContext.class);
-        List<String> names = new ArrayList<String>();
-        names.add("parent");
-        EasyMock.expect(context.getPathNames()).andReturn(names);
-        EasyMock.replay(context);
         loader.loadReference(reader, context, definition);
         ReferenceTarget target = definition.getReferenceTargets().get("reference");
         assertEquals(1, target.getTargets().size());
         URI uri = target.getTargets().get(0);
-        assertEquals("parent/target#fragment", uri.toString());
+        assertEquals(componentId.resolve("target#fragment"), uri);
         EasyMock.verify(reader);
     }
 
@@ -105,9 +97,12 @@
         LoaderRegistry mockRegistry = EasyMock.createMock(LoaderRegistry.class);
         loader = new ComponentLoader(mockRegistry, null);
         CompositeComponent parent = EasyMock.createNiceMock(CompositeComponent.class);
-        URI uri = URI.create("foo");
-        EasyMock.expect(parent.getUri()).andReturn(uri).atLeastOnce();
+        EasyMock.expect(parent.getUri()).andReturn(componentId).atLeastOnce();
         EasyMock.replay(parent);
+
+        context = EasyMock.createMock(DeploymentContext.class);
+        EasyMock.expect(context.getComponentId()).andReturn(componentId);
+        EasyMock.replay(context);
     }
 
     private class MockReferenceDefinition extends ReferenceDefinition {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderTestCase.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderTestCase.java Sat Feb 17 16:12:31 2007
@@ -19,15 +19,21 @@
 package org.apache.tuscany.core.loader;
 
 import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.isNull;
+import static org.easymock.EasyMock.replay;
+import org.easymock.IAnswer;
 import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
 
+import org.apache.tuscany.core.implementation.java.JavaImplementation;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.implementation.java.PojoComponentType;
@@ -42,22 +48,13 @@
 import org.apache.tuscany.spi.model.ReferenceDefinition;
 import org.apache.tuscany.spi.model.ServiceDefinition;
 
-import junit.framework.TestCase;
-import org.apache.tuscany.core.implementation.java.JavaImplementation;
-import org.easymock.EasyMock;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isNull;
-import static org.easymock.EasyMock.replay;
-import org.easymock.IAnswer;
-
 /**
  * @version $Rev$ $Date$
  */
 public class ComponentLoaderTestCase extends TestCase {
     private static final QName COMPONENT = new QName(XML_NAMESPACE_1_0, "component");
+    private static final String COMPONENT_NAME = "sca://localhost/parent/";
     private static final String NAME = "testComponent";
-    private static final String FULL_NAME = "foo/testComponent";
     private JavaImplementation impl;
 
     private XMLStreamReader mockReader;
@@ -65,6 +62,8 @@
     private PropertyObjectFactory mockPropertyFactory;
     private ComponentLoader loader;
     private CompositeComponent parent;
+    private DeploymentContext ctx;
+    private URI componentId;
 
     public void testEmptyComponent() throws LoaderException, XMLStreamException {
         EasyMock.expect(mockReader.getName()).andReturn(COMPONENT).atLeastOnce();
@@ -94,14 +93,8 @@
             EasyMock.eq(mockReader),
             EasyMock.isA(DeploymentContext.class))).andReturn(impl);
         EasyMock.replay(mockRegistry);
-        DeploymentContext ctx = EasyMock.createMock(DeploymentContext.class);
-        ctx.getPathNames();
-        List<String> names = new ArrayList<String>();
-        names.add("foo");
-        EasyMock.expectLastCall().andReturn(names).anyTimes();
-        EasyMock.replay(ctx);
         ComponentDefinition component = loader.load(parent, null, mockReader, ctx);
-        assertEquals(FULL_NAME, component.getUri().toString());
+        assertEquals(COMPONENT_NAME + NAME, component.getUri().toString());
         assertNull(component.getInitLevel());
     }
 
@@ -132,14 +125,9 @@
             EasyMock.eq(mockReader),
             EasyMock.isA(DeploymentContext.class))).andReturn(impl);
         EasyMock.replay(mockRegistry);
-        DeploymentContext ctx = EasyMock.createMock(DeploymentContext.class);
-        ctx.getPathNames();
-        List<String> names = new ArrayList<String>();
-        names.add("foo");
-        EasyMock.expectLastCall().andReturn(names).anyTimes();
-        EasyMock.replay(ctx);
+
         ComponentDefinition component = loader.load(parent, null, mockReader, ctx);
-        assertEquals(FULL_NAME, component.getUri().toString());
+        assertEquals(COMPONENT_NAME + NAME, component.getUri().toString());
         assertEquals(Integer.valueOf(20), component.getInitLevel());
     }
 
@@ -185,12 +173,6 @@
             EasyMock.isA(DeploymentContext.class))).andReturn(impl);
         EasyMock.replay(mockRegistry);
         try {
-            DeploymentContext ctx = EasyMock.createMock(DeploymentContext.class);
-            ctx.getPathNames();
-            List<String> names = new ArrayList<String>();
-            names.add("foo");
-            EasyMock.expectLastCall().andReturn(names).anyTimes();
-            EasyMock.replay(ctx);
             loader.load(parent, null, mockReader, ctx);
             fail();
         } catch (UnrecognizedElementException e) {
@@ -200,6 +182,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
+        componentId = URI.create(COMPONENT_NAME);
         impl = new JavaImplementation();
         mockReader = EasyMock.createMock(XMLStreamReader.class);
         mockRegistry = EasyMock.createMock(LoaderRegistry.class);
@@ -209,5 +192,11 @@
         URI uri = URI.create("foo");
         EasyMock.expect(parent.getUri()).andReturn(uri).atLeastOnce();
         EasyMock.replay(parent);
+
+        ctx = EasyMock.createMock(DeploymentContext.class);
+        EasyMock.expect(ctx.getClassLoader()).andReturn(null);
+        EasyMock.expect(ctx.getScdlLocation()).andReturn(null);
+        EasyMock.expect(ctx.getComponentId()).andReturn(componentId);
+        EasyMock.replay(ctx);
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/IncludeLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/IncludeLoaderTestCase.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/IncludeLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/IncludeLoaderTestCase.java Sat Feb 17 16:12:31 2007
@@ -19,6 +19,7 @@
 package org.apache.tuscany.core.loader;
 
 import java.net.URL;
+import java.net.URI;
 import java.util.Collections;
 import javax.xml.namespace.QName;
 import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
@@ -59,6 +60,7 @@
     private URL base;
     private URL includeURL;
     private ClassLoader cl;
+    private URI componentId;
 
     public void testNoLocation() throws LoaderException, XMLStreamException {
         String name = "foo";
@@ -90,8 +92,7 @@
 
         expect(context.getScdlLocation()).andReturn(base);
         expect(context.getClassLoader()).andReturn(cl);
-        context.getPathNames();
-        EasyMock.expectLastCall().andReturn(Collections.emptyList()).anyTimes();
+        expect(context.getComponentId()).andReturn(componentId);
 
         expect(registry.load((CompositeComponent) isNull(),
             (ModelObject) isNull(),
@@ -117,8 +118,7 @@
 
         expect(context.getScdlLocation()).andReturn(base);
         expect(context.getClassLoader()).andReturn(cl);
-        context.getPathNames();
-        EasyMock.expectLastCall().andReturn(Collections.emptyList()).anyTimes();
+        expect(context.getComponentId()).andReturn(componentId);
 
         expect(registry.load((CompositeComponent) isNull(),
             (ModelObject) isNull(),
@@ -147,8 +147,7 @@
         expect(reader.next()).andReturn(END_ELEMENT);
 
         expect(context.getClassLoader()).andReturn(cl);
-        context.getPathNames();
-        EasyMock.expectLastCall().andReturn(Collections.emptyList()).anyTimes();
+        expect(context.getComponentId()).andReturn(componentId);
 
         expect(registry.load((CompositeComponent) isNull(),
             (ModelObject) isNull(),
@@ -173,5 +172,6 @@
         base = new URL("http://example.com/test.scdl");
         includeURL = new URL("http://example.com/include.scdl");
         loader = new IncludeLoader(registry);
+        componentId = URI.create("sca://localhost/parent/");
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java Sat Feb 17 16:12:31 2007
@@ -19,8 +19,6 @@
 package org.apache.tuscany.core.loader;
 
 import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamException;
@@ -41,7 +39,6 @@
 import org.apache.tuscany.spi.model.ServiceDefinition;
 
 import junit.framework.TestCase;
-import org.apache.tuscany.core.deployer.RootDeploymentContext;
 import org.easymock.EasyMock;
 
 /**
@@ -51,9 +48,9 @@
  */
 public class ReferenceLoaderTestCase extends TestCase {
     private static final QName REFERENCE = new QName(Version.XML_NAMESPACE_1_0, "reference");
-    private static final String PARENT_NAME = "parent";
+    private static final String COMPONENT_NAME = "sca://someComponent";
+    private URI componentId;
     private ReferenceLoader loader;
-    private DeploymentContext deploymentContext;
     private XMLStreamReader mockReader;
     private LoaderRegistry mockRegistry;
     private CompositeComponent parent;
@@ -69,7 +66,7 @@
         EasyMock.replay(mockReader);
         ReferenceDefinition referenceDefinition = loader.load(parent, null, mockReader, ctx);
         assertNotNull(referenceDefinition);
-        assertEquals(PARENT_NAME + "#" + name, referenceDefinition.getUri().toString());
+        assertEquals(COMPONENT_NAME + "#" + name, referenceDefinition.getUri().toString());
     }
 
     public void testComponentTypeService() throws LoaderException, XMLStreamException {
@@ -117,32 +114,29 @@
         EasyMock.expect(mockReader.getAttributeValue(null, "name")).andReturn(name);
         EasyMock.expect(mockReader.getAttributeValue(null, "multiplicity")).andReturn("0..1");
         EasyMock.expect(mockReader.next()).andReturn(XMLStreamConstants.START_ELEMENT);
-        EasyMock.expect(mockRegistry.load(parent, null, mockReader, deploymentContext)).andReturn(sc);
+        EasyMock.expect(mockRegistry.load(parent, null, mockReader, ctx)).andReturn(sc);
         EasyMock.expect(mockReader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
 
         EasyMock.replay(mockReader);
         EasyMock.replay(mockRegistry);
 
-        ReferenceDefinition referenceDefinition = loader.load(parent, null, mockReader, deploymentContext);
+        ReferenceDefinition referenceDefinition = loader.load(parent, null, mockReader, ctx);
         assertNotNull(referenceDefinition);
-        assertEquals(PARENT_NAME + "#" + name, referenceDefinition.getUri().toString());
+        assertEquals(COMPONENT_NAME + "#" + name, referenceDefinition.getUri().toString());
         assertSame(sc, referenceDefinition.getServiceContract());
     }
 
     protected void setUp() throws Exception {
         super.setUp();
+        componentId = URI.create(COMPONENT_NAME);
         mockReader = EasyMock.createStrictMock(XMLStreamReader.class);
         mockRegistry = EasyMock.createMock(LoaderRegistry.class);
         loader = new ReferenceLoader(mockRegistry);
-        deploymentContext = new RootDeploymentContext(null, null, null, null, null);
-        deploymentContext.getPathNames().add("parent");
         parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.getUri()).andReturn(URI.create(PARENT_NAME));
+        EasyMock.expect(parent.getUri()).andReturn(URI.create(COMPONENT_NAME));
         EasyMock.replay(parent);
         ctx = EasyMock.createMock(DeploymentContext.class);
-        List<String> names = new ArrayList<String>();
-        names.add("parent");
-        EasyMock.expect(ctx.getPathNames()).andReturn(names).atLeastOnce();
+        EasyMock.expect(ctx.getComponentId()).andReturn(componentId);
         EasyMock.replay(ctx);
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderReferenceTestCase.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderReferenceTestCase.java Sat Feb 17 16:12:31 2007
@@ -43,7 +43,8 @@
 public class ServiceLoaderReferenceTestCase extends TestCase {
     private static final QName SERVICE = new QName(Version.XML_NAMESPACE_1_0, "service");
     private static final QName REFERENCE = new QName(Version.XML_NAMESPACE_1_0, "reference");
-    private static final String PARENT_NAME = "parent";
+    private static final String COMPONENT_NAME = "sca://domain/someComponent/";
+    private URI componentId;
     private ServiceLoader loader;
     private XMLStreamReader mockReader;
     private CompositeComponent parent;
@@ -61,8 +62,7 @@
         EasyMock.replay(mockReader);
         ServiceDefinition serviceDefinition = loader.load(parent, null, mockReader, ctx);
         assertNotNull(serviceDefinition);
-        assertEquals("parent/target", serviceDefinition.getTarget().getPath());
-        assertNull(serviceDefinition.getTarget().getFragment());
+        assertEquals(COMPONENT_NAME + "target", serviceDefinition.getTarget().toString());
     }
 
     public void testReferenceWithFragment() throws LoaderException, XMLStreamException {
@@ -77,7 +77,7 @@
         EasyMock.replay(mockReader);
         ServiceDefinition serviceDefinition = loader.load(parent, null, mockReader, ctx);
         assertNotNull(serviceDefinition);
-        assertEquals("parent/target#fragment", serviceDefinition.getTarget().toString());
+        assertEquals(COMPONENT_NAME + "target#fragment", serviceDefinition.getTarget().toString());
     }
 
 
@@ -86,14 +86,13 @@
         mockReader = EasyMock.createStrictMock(XMLStreamReader.class);
         LoaderRegistry mockRegistry = EasyMock.createMock(LoaderRegistry.class);
         loader = new ServiceLoader(mockRegistry);
+
+        componentId = URI.create(COMPONENT_NAME);
         parent = EasyMock.createMock(CompositeComponent.class);
-        URI uri = URI.create(PARENT_NAME);
-        EasyMock.expect(parent.getUri()).andReturn(uri).atLeastOnce();
+        EasyMock.expect(parent.getUri()).andReturn(componentId).atLeastOnce();
         EasyMock.replay(parent);
         ctx = EasyMock.createMock(DeploymentContext.class);
-        List<String> names = new ArrayList<String>();
-        names.add("parent");
-        EasyMock.expect(ctx.getPathNames()).andReturn(names).atLeastOnce();
+        EasyMock.expect(ctx.getComponentId()).andReturn(componentId);
         EasyMock.replay(ctx);
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderTestCase.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderTestCase.java Sat Feb 17 16:12:31 2007
@@ -39,7 +39,6 @@
 import org.apache.tuscany.spi.model.ServiceDefinition;
 
 import junit.framework.TestCase;
-import org.apache.tuscany.core.deployer.RootDeploymentContext;
 import org.easymock.EasyMock;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.replay;
@@ -54,12 +53,13 @@
     private static final QName BINDING = new QName(XML_NAMESPACE_1_0, "binding.foo");
     private static final QName REFERENCE = new QName(XML_NAMESPACE_1_0, "reference");
     private static final QName INTERFACE_JAVA = new QName(XML_NAMESPACE_1_0, "interface.java");
-    private static final String PARENT_NAME = "parent";
+    private static final String PARENT_NAME = "sca://localhost/parent/";
     private ServiceLoader loader;
     private DeploymentContext deploymentContext;
     private XMLStreamReader mockReader;
     private LoaderRegistry mockRegistry;
     private CompositeComponent parent;
+    private URI componentId;
 
     public void testWithNoInterface() throws LoaderException, XMLStreamException {
         String name = "serviceDefinition";
@@ -68,8 +68,6 @@
         expect(mockReader.next()).andReturn(END_ELEMENT);
         expect(mockReader.getName()).andReturn(SERVICE).anyTimes();
         replay(mockReader);
-        DeploymentContext context = EasyMock.createMock(DeploymentContext.class);
-        context.getPathNames();
         ServiceDefinition serviceDefinition = loader.load(parent, null, mockReader, deploymentContext);
         assertNotNull(serviceDefinition);
         assertEquals(PARENT_NAME + "#" + name, serviceDefinition.getUri().toString());
@@ -162,11 +160,12 @@
         mockReader = EasyMock.createStrictMock(XMLStreamReader.class);
         mockRegistry = EasyMock.createMock(LoaderRegistry.class);
         loader = new ServiceLoader(mockRegistry);
-        deploymentContext = new RootDeploymentContext(null, null, null, null, null);
-        deploymentContext.getPathNames().add(PARENT_NAME);
         parent = EasyMock.createMock(CompositeComponent.class);
-        URI uri = URI.create(PARENT_NAME);
-        EasyMock.expect(parent.getUri()).andReturn(uri).atLeastOnce();
+        componentId = URI.create(PARENT_NAME);
+        EasyMock.expect(parent.getUri()).andReturn(componentId).atLeastOnce();
         EasyMock.replay(parent);
+        deploymentContext = EasyMock.createMock(DeploymentContext.class);
+        EasyMock.expect(deploymentContext.getComponentId()).andReturn(componentId);
+        EasyMock.replay(deploymentContext);
     }
 }

Modified: incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/RuntimeInfo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/RuntimeInfo.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/RuntimeInfo.java (original)
+++ incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/RuntimeInfo.java Sat Feb 17 16:12:31 2007
@@ -28,11 +28,6 @@
  * @version $Rev$ $Date$
  */
 public interface RuntimeInfo {
-    /**
-     * The default name that the runtime should assign to the component providing this service.
-     * TODO implement Tuscany component domains
-     */
-    URI COMPONENT_URI = URI.create("sca://RuntimeInfo");
 
     /**
      * Returns the SCA domain associated with this runtime.

Modified: incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/runtime/TuscanyRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/runtime/TuscanyRuntime.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/runtime/TuscanyRuntime.java (original)
+++ incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/runtime/TuscanyRuntime.java Sat Feb 17 16:12:31 2007
@@ -30,7 +30,7 @@
 /**
  * @version $Rev$ $Date$
  */
-public interface TuscanyRuntime {
+public interface TuscanyRuntime<I extends RuntimeInfo> {
     /**
      * Returns the location of the SCDL used to boot this runtime.
      *
@@ -64,15 +64,14 @@
      *
      * @return the info this runtime will make available to service components
      */
-    RuntimeInfo getRuntimeInfo();
+    I getRuntimeInfo();
 
     /**
-     * Sets the info this runtime should make available to service components. The instance supplied here should be
-     * registered in the system composite with the name {@link RuntimeInfo#COMPONENT_URI "RuntimeInfo"}.
+     * Sets the info this runtime should make available to service components.
      *
      * @param runtimeInfo the information this runtime should make available to service components
      */
-    void setRuntimeInfo(RuntimeInfo runtimeInfo);
+    void setRuntimeInfo(I runtimeInfo);
 
     /**
      * Returns the MonitorFactory that this runtime is using.

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/QualifiedName.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/QualifiedName.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/QualifiedName.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/QualifiedName.java Sat Feb 17 16:12:31 2007
@@ -27,9 +27,10 @@
 public class QualifiedName {
     public static final String NAME_SEPARATOR = "/";
 
-    private String qName;
-    private String partName;
-    private String portName;
+    private final String qName;
+    private final String fragment;
+    private final String partName;
+    private final String portName;
 
     /**
      * Constructs a new qualified name in the form of part/port where part is the parent context and port represents a
@@ -39,22 +40,20 @@
      * @throws InvalidNameException if the name is in an invalid format
      */
     public QualifiedName(String qualifiedName) throws InvalidNameException {
-        if (qualifiedName == null) {
-            return;
+        String[] parts = qualifiedName.split(NAME_SEPARATOR);
+        if (parts.length == 1) {
+            partName = parts[0];
+            portName = null;
+            qName = partName;
+            fragment = partName;
+        } else if (parts.length == 2) {
+            partName = parts[0];
+            portName = parts[1];
+            qName = partName + '/' + portName;
+            fragment = partName + '#' + portName;
+        } else {
+            throw new InvalidNameException(qualifiedName);
         }
-        int pos = qualifiedName.indexOf(QualifiedName.NAME_SEPARATOR);
-        switch (pos) {
-            case-1:
-                partName = qualifiedName;
-                break;
-            case 0:
-                throw new InvalidNameException(qualifiedName);
-            default:
-                partName = qualifiedName.substring(0, pos);
-                portName = qualifiedName.substring(pos + 1);
-                break;
-        }
-        qName = qualifiedName;
     }
 
     /**
@@ -66,7 +65,13 @@
     public QualifiedName(String partName, String portName) {
         this.partName = partName;
         this.portName = portName;
-        this.qName = partName + '/' + portName;
+        if (portName == null) {
+            qName = partName;
+            fragment = partName;
+        } else {
+            qName = partName + '/' + portName;
+            fragment = partName + '#' + portName;
+        }
     }
 
     /**
@@ -88,6 +93,10 @@
      */
     public String getQualifiedName() {
         return qName;
+    }
+
+    public String getFragment() {
+        return fragment;
     }
 
     public String toString() {

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/ComponentNames.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/ComponentNames.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/ComponentNames.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/ComponentNames.java Sat Feb 17 16:12:31 2007
@@ -34,27 +34,27 @@
     /**
      * The name of the component that is the root of the application composite tree.
      */
-    public static final URI TUSCANY_APPLICATION_ROOT = URI.create("sca://root.application");
+    public static final URI TUSCANY_APPLICATION_ROOT = URI.create("sca://root.application/");
 
     /**
      * The name of the component that is the root of the system composite tree.
      */
-    public static final URI TUSCANY_SYSTEM_ROOT = URI.create("sca://root.system");
+    public static final URI TUSCANY_SYSTEM_ROOT = URI.create("sca://root.system/");
 
     /**
      * The name of the top-level component in the system composite tree.
      */
-    public static final URI TUSCANY_SYSTEM = URI.create("sca://root.system/main");
+    public static final URI TUSCANY_SYSTEM = TUSCANY_SYSTEM_ROOT.resolve("main/");
 
     /**
      * The name of the component that contains the deployer.
      */
-    public static final String TUSCANY_DEPLOYER = "deployer";
+    public static final URI TUSCANY_DEPLOYER = TUSCANY_SYSTEM.resolve("deployer");
 
     /**
      * The name of the component that contains the deployer.
      */
-    public static final String TUSCANY_WIRE_SERVICE = "wireService";
+    public static final URI TUSCANY_WIRE_SERVICE = TUSCANY_SYSTEM.resolve("wireService");
 
     private ComponentNames() {
     }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/Deployer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/Deployer.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/Deployer.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/Deployer.java Sat Feb 17 16:12:31 2007
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.spi.deployer;
 
+import java.util.Collection;
+
 import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ComponentException;
@@ -43,7 +45,7 @@
      * @param componentDefinition the component definition as parsed from an assembly
      * @return the newly deployed component
      */
-    <I extends Implementation<?>> Component deploy(CompositeComponent parent,
+    <I extends Implementation<?>> Collection<Component> deploy(CompositeComponent parent,
                                                    ComponentDefinition<I> componentDefinition)
         throws LoaderException, BuilderException, ComponentException, ResolutionException;
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java Sat Feb 17 16:12:31 2007
@@ -21,9 +21,11 @@
 import java.net.URL;
 import java.net.URI;
 import java.util.List;
+import java.util.Map;
 import javax.xml.stream.XMLInputFactory;
 
 import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.Component;
 
 /**
  * A holder that can be used during the load process to store information that is not part of the logical assembly
@@ -90,12 +92,6 @@
      */
     void putExtension(String name, Object value);
 
-    /**
-     * Returns and ordered list of path names representing the current component hierarchy as an assembly is loaded.
-     * Deprecated in favour of {@link #getComponentId}
-     *
-     * @return the ordered list of path names representing the current component hierarchy
-     */
     @Deprecated
-    List<String> getPathNames();
+    Map<URI, Component> getComponents();
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/QualifiedNameTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/QualifiedNameTestCase.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/QualifiedNameTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/QualifiedNameTestCase.java Sat Feb 17 16:12:31 2007
@@ -31,18 +31,27 @@
         QualifiedName name = new QualifiedName("Foo");
         assertEquals("Foo", name.getPartName());
         assertEquals(null, name.getPortName());
+        assertEquals("Foo", name.getQualifiedName());
+        assertEquals("Foo", name.getFragment());
+        assertEquals("Foo", name.toString());
     }
 
     public void testCompoundName() throws Exception {
         QualifiedName name = new QualifiedName("Foo/Bar");
         assertEquals("Foo", name.getPartName());
         assertEquals("Bar", name.getPortName());
+        assertEquals("Foo/Bar", name.getQualifiedName());
+        assertEquals("Foo#Bar", name.getFragment());
+        assertEquals("Foo/Bar", name.toString());
     }
 
     public void testCompoundMultiName() throws Exception {
-        QualifiedName name = new QualifiedName("Foo/Bar/Baz");
-        assertEquals("Foo", name.getPartName());
-        assertEquals("Bar/Baz", name.getPortName());
+        try {
+            new QualifiedName("Foo/Bar/Baz");
+            fail("Invalid name exception not thrown");
+        } catch (InvalidNameException e) {
+            // ok;
+        }
     }
 
     public void testInvalidName() throws Exception {
@@ -53,15 +62,4 @@
             //expected
         }
     }
-
-    public void testQualifiedName() throws Exception {
-        QualifiedName name = new QualifiedName("Foo/Bar");
-        assertEquals("Foo/Bar", name.getQualifiedName());
-    }
-
-    public void testToString() throws Exception {
-        QualifiedName name = new QualifiedName("Foo/Bar");
-        assertEquals("Foo/Bar", name.toString());
-    }
-
 }

Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java Sat Feb 17 16:12:31 2007
@@ -19,6 +19,7 @@
 package org.apache.tuscany.sca.plugin.itest;
 
 import java.net.URI;
+import java.util.Collection;
 
 import org.apache.tuscany.core.runtime.AbstractRuntime;
 import org.apache.tuscany.host.runtime.InitializationException;
@@ -34,16 +35,16 @@
 /**
  * @version $Rev$ $Date$
  */
-public class MavenEmbeddedRuntime extends AbstractRuntime {
+public class MavenEmbeddedRuntime extends AbstractRuntime<MavenRuntimeInfo> {
     private ArtifactRepository artifactRepository;
 
+    public MavenEmbeddedRuntime() {
+        super(MavenRuntimeInfo.class);
+    }
+
     protected void registerSystemComponents() throws InitializationException {
         super.registerSystemComponents();
         try {
-            getComponentManager().registerJavaObject(MavenRuntimeInfo.COMPONENT_NAME,
-                                                     MavenRuntimeInfo.class,
-                                                     (MavenRuntimeInfo) getRuntimeInfo());
-
             getComponentManager().registerJavaObject(MavenEmbeddedArtifactRepository.COMPONENT_NAME,
                                                      ArtifactRepository.class,
                                                      artifactRepository);
@@ -56,7 +57,7 @@
         this.artifactRepository = artifactRepository;
     }
 
-    public Component deployTestScdl(ComponentDefinition<CompositeImplementation> definition) throws Exception {
+    public Collection<Component> deployTestScdl(ComponentDefinition<CompositeImplementation> definition) throws Exception {
         Deployer deployer = getDeployer();
         return deployer.deploy(null, definition);
     }

Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/TuscanyITestMojo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/TuscanyITestMojo.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/TuscanyITestMojo.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/TuscanyITestMojo.java Sat Feb 17 16:12:31 2007
@@ -28,6 +28,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
+import java.util.Collection;
 
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
@@ -206,9 +207,11 @@
 
                 ComponentDefinition<CompositeImplementation> definition =
                     new ComponentDefinition<CompositeImplementation>(name, impl);
-                Component testComponent = runtime.deployTestScdl(definition);
-                testSuite = createTestSuite(runtime, definition, testComponent);
-                testComponent.start();
+                Collection<Component> testComponent = runtime.deployTestScdl(definition);
+                testSuite = createTestSuite(runtime, definition, name);
+                for (Component component : testComponent) {
+                    component.start();
+                }
             } catch (Exception e) {
                 throw new MojoExecutionException("Error deploying test component " + testScdl, e);
             }
@@ -304,9 +307,8 @@
 
     protected SurefireTestSuite createTestSuite(MavenEmbeddedRuntime runtime,
                                                 ComponentDefinition<CompositeImplementation> definition,
-                                                Component testComponent) throws MojoExecutionException {
+                                                URI uriBase) throws MojoExecutionException {
         SCATestSuite suite = new SCATestSuite();
-        URI uriBase = testComponent.getUri();
 
         CompositeImplementation impl = definition.getImplementation();
         CompositeComponentType<?,?,?> componentType = impl.getComponentType();

Modified: incubator/tuscany/java/sca/runtime/standalone/standalone-api/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/standalone-api/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntime.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/standalone-api/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntime.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/standalone-api/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntime.java Sat Feb 17 16:12:31 2007
@@ -18,7 +18,6 @@
  */
 package org.apache.tuscany.runtime.standalone;
 
-import java.net.URI;
 import java.net.URL;
 
 import org.apache.tuscany.host.runtime.TuscanyRuntime;
@@ -30,7 +29,7 @@
  * @version $Revision$ $Date$
  *
  */
-public interface StandaloneRuntime extends TuscanyRuntime {
+public interface StandaloneRuntime extends TuscanyRuntime<StandaloneRuntimeInfo> {
     
     /**
      * Deploys the specified application SCDL and runs the lauched component within the deployed composite.

Modified: incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java Sat Feb 17 16:12:31 2007
@@ -21,6 +21,7 @@
 import java.net.URI;
 import java.net.URL;
 import java.util.Map;
+import java.util.Collection;
 import java.lang.reflect.InvocationTargetException;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
@@ -48,19 +49,12 @@
 /**
  * @version $Rev$ $Date$
  */
-public class StandaloneRuntimeImpl extends AbstractRuntime implements StandaloneRuntime {
+public class StandaloneRuntimeImpl extends AbstractRuntime<StandaloneRuntimeInfo> implements StandaloneRuntime {
 
-    protected void registerSystemComponents() throws InitializationException {
-        super.registerSystemComponents();
-        try {
-            getComponentManager().registerJavaObject(StandaloneRuntimeInfo.STANDALONE_COMPONENT_URI,
-                StandaloneRuntimeInfo.class,
-                (StandaloneRuntimeInfo) getRuntimeInfo());
-        } catch (RegistrationException e) {
-            throw new InitializationException(e);
-        }
+    public StandaloneRuntimeImpl() {
+        super(StandaloneRuntimeInfo.class);
     }
-    
+
     /**
      * Deploys the specified application SCDL and runs the lauched component within the deployed composite.
      * 
@@ -79,9 +73,11 @@
 
         ComponentDefinition<CompositeImplementation> definition =
             new ComponentDefinition<CompositeImplementation>(compositeUri, impl);
-        Component component =  getDeployer().deploy(null, definition);
-        component.start();
-        
+        Collection<Component> components =  getDeployer().deploy(null, definition);
+        for (Component component : components) {
+            component.start();
+        }
+
         return run(impl, args, compositeUri);
     }
 

Modified: incubator/tuscany/java/sca/runtime/webapp/webapp-api/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/webapp-api/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntime.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/webapp-api/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntime.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/webapp-api/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntime.java Sat Feb 17 16:12:31 2007
@@ -37,7 +37,7 @@
  * @see TuscanyFilter
  * @see TuscanySessionListener
  */
-public interface WebappRuntime extends HttpSessionListener, TuscanyRuntime {
+public interface WebappRuntime extends HttpSessionListener, TuscanyRuntime<WebappRuntimeInfo> {
     /**
      * Returns the ServletContext associated with this runtime.
      *

Modified: incubator/tuscany/java/sca/runtime/webapp/webapp-api/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/webapp-api/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfo.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/webapp-api/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfo.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/webapp-api/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfo.java Sat Feb 17 16:12:31 2007
@@ -27,8 +27,6 @@
  * @version $Rev$ $Date$
  */
 public interface WebappRuntimeInfo extends RuntimeInfo {
-    URI COMPONENT_NAME = URI.create("WebappRuntimeInfo");
-    
     /**
      * Returns the ServletContext associated with this webapp runtime.
      *

Modified: incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java?view=diff&rev=508831&r1=508830&r2=508831
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java Sat Feb 17 16:12:31 2007
@@ -20,22 +20,18 @@
 
 import java.net.URI;
 import java.net.URL;
+import java.util.Collection;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSessionEvent;
 
-import org.osoa.sca.ComponentContext;
-
 import org.apache.tuscany.core.runtime.AbstractRuntime;
 import org.apache.tuscany.host.runtime.InitializationException;
 import org.apache.tuscany.host.servlet.ServletRequestInjector;
-import static org.apache.tuscany.runtime.webapp.Constants.CONTEXT_ATTRIBUTE;
 import org.apache.tuscany.runtime.webapp.implementation.webapp.WebappComponent;
 import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ComponentException;
-import org.apache.tuscany.spi.component.RegistrationException;
-import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.CompositeImplementation;
@@ -54,11 +50,15 @@
  * @version $$Rev$$ $$Date$$
  */
 
-public class WebappRuntimeImpl extends AbstractRuntime implements WebappRuntime {
+public class WebappRuntimeImpl extends AbstractRuntime<WebappRuntimeInfo> implements WebappRuntime {
     private ServletContext servletContext;
 
     private ServletRequestInjector requestInjector;
 
+    public WebappRuntimeImpl() {
+        super(WebappRuntimeInfo.class);
+    }
+
     public ServletContext getServletContext() {
         return servletContext;
     }
@@ -67,17 +67,6 @@
         this.servletContext = servletContext;
     }
 
-    protected void registerSystemComponents() throws InitializationException {
-        super.registerSystemComponents();
-        try {
-            getComponentManager().registerJavaObject(WebappRuntimeInfo.COMPONENT_NAME,
-                WebappRuntimeInfo.class,
-                (WebappRuntimeInfo) getRuntimeInfo());
-        } catch (RegistrationException e) {
-            throw new InitializationException(e);
-        }
-    }
-
 /*
     public void initialize() throws InitializationException {
         super.initialize();
@@ -127,9 +116,9 @@
 
         ComponentDefinition<CompositeImplementation> definition =
             new ComponentDefinition<CompositeImplementation>(compositeId, impl);
-        CompositeComponent composite;
+        Collection<Component> components;
         try {
-            composite = (CompositeComponent) getDeployer().deploy(null, definition);
+            components = getDeployer().deploy(null, definition);
         } catch (LoaderException e) {
             throw new InitializationException(e);
         } catch (BuilderException e) {
@@ -139,7 +128,9 @@
         } catch (ResolutionException e) {
             throw new InitializationException(e);
         }
-        composite.start();
+        for (Component component : components) {
+            component.start();
+        }
 
         componentId = compositeId.resolve(componentId);
         Component component = getComponentManager().getComponent(componentId);



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