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