You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/10/02 08:58:21 UTC
svn commit: r451895 [2/3] - 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/builder/ConnectorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java Sun Oct 1 23:58:18 2006
@@ -118,6 +118,7 @@
// create the target
AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(target.getScope()).andReturn(Scope.MODULE);
+ EasyMock.expect(target.isSystem()).andReturn(false).atLeastOnce();
target.getInboundWire(EasyMock.eq("FooService"));
EasyMock.expectLastCall().andReturn(targetWire).atLeastOnce();
target.createTargetInvoker(EasyMock.eq("FooService"), EasyMock.eq(operation));
@@ -166,6 +167,7 @@
// create the service
Service service = EasyMock.createMock(Service.class);
EasyMock.expect(service.getName()).andReturn("source");
+ EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
EasyMock.expect(service.getParent()).andReturn(parent).atLeastOnce();
EasyMock.expect(service.getInboundWire()).andReturn(inboundWire).atLeastOnce();
EasyMock.expect(service.getScope()).andReturn(Scope.COMPOSITE);
@@ -243,6 +245,7 @@
// create the source
AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(source.isSystem()).andReturn(false).atLeastOnce();
EasyMock.expect(source.getScope()).andReturn(Scope.MODULE);
EasyMock.expect(source.getParent()).andReturn(parent).atLeastOnce();
EasyMock.expect(source.getOutboundWires()).andReturn(outboundWires);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java Sun Oct 1 23:58:18 2006
@@ -25,7 +25,7 @@
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.HttpSessionEnd;
import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
import org.apache.tuscany.core.injection.EventInvoker;
import org.apache.tuscany.core.injection.MethodEventInvoker;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicModuleScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicModuleScopeTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicModuleScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicModuleScopeTestCase.java Sun Oct 1 23:58:18 2006
@@ -20,12 +20,12 @@
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.CompositeStop;
import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
import org.apache.tuscany.core.injection.EventInvoker;
import org.apache.tuscany.core.injection.MethodEventInvoker;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java Sun Oct 1 23:58:18 2006
@@ -19,11 +19,11 @@
package org.apache.tuscany.core.component.scope;
import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.event.RequestEnd;
import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
import org.apache.tuscany.core.injection.EventInvoker;
import org.apache.tuscany.core.injection.MethodEventInvoker;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java Sun Oct 1 23:58:18 2006
@@ -19,11 +19,11 @@
package org.apache.tuscany.core.component.scope;
import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
import org.apache.tuscany.core.mock.component.StatelessComponent;
import org.apache.tuscany.core.mock.component.StatelessComponentImpl;
import org.apache.tuscany.core.mock.factories.MockFactory;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java Sun Oct 1 23:58:18 2006
@@ -19,13 +19,13 @@
package org.apache.tuscany.core.component.scope;
import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.HttpSessionEnd;
import org.apache.tuscany.core.component.event.HttpSessionStart;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
import org.apache.tuscany.core.mock.component.OrderedEagerInitPojo;
import org.apache.tuscany.core.mock.component.OrderedInitPojo;
import org.apache.tuscany.core.mock.component.OrderedInitPojoImpl;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java Sun Oct 1 23:58:18 2006
@@ -27,7 +27,7 @@
import org.apache.tuscany.core.component.event.HttpSessionEnd;
import org.apache.tuscany.core.component.event.HttpSessionStart;
import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
import org.apache.tuscany.core.injection.MethodEventInvoker;
import org.apache.tuscany.core.injection.PojoObjectFactory;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ModuleScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ModuleScopeInstanceLifecycleTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ModuleScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ModuleScopeInstanceLifecycleTestCase.java Sun Oct 1 23:58:18 2006
@@ -20,13 +20,13 @@
import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.CompositeStart;
import org.apache.tuscany.core.component.event.CompositeStop;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
import org.apache.tuscany.core.mock.component.ModuleScopeDestroyOnlyComponent;
import org.apache.tuscany.core.mock.component.ModuleScopeInitDestroyComponent;
import org.apache.tuscany.core.mock.component.ModuleScopeInitOnlyComponent;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ModuleScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ModuleScopeRestartTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ModuleScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ModuleScopeRestartTestCase.java Sun Oct 1 23:58:18 2006
@@ -27,7 +27,7 @@
import org.apache.tuscany.core.component.event.CompositeStart;
import org.apache.tuscany.core.component.event.CompositeStop;
import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
import org.apache.tuscany.core.injection.MethodEventInvoker;
import org.apache.tuscany.core.injection.PojoObjectFactory;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java Sun Oct 1 23:58:18 2006
@@ -19,13 +19,13 @@
package org.apache.tuscany.core.component.scope;
import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.RequestEnd;
import org.apache.tuscany.core.component.event.RequestStart;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
import org.apache.tuscany.core.mock.component.OrderedEagerInitPojo;
import org.apache.tuscany.core.mock.component.OrderedInitPojo;
import org.apache.tuscany.core.mock.component.OrderedInitPojoImpl;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java Sun Oct 1 23:58:18 2006
@@ -26,7 +26,7 @@
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.RequestEnd;
import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
import org.apache.tuscany.core.injection.MethodEventInvoker;
import org.apache.tuscany.core.injection.PojoObjectFactory;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java Sun Oct 1 23:58:18 2006
@@ -129,11 +129,11 @@
// load the boot2 file using the bootstrap deployer
componentDefinition.setName("newDeployer");
- Component component = deployer.deploy(parent, componentDefinition);
+ CompositeComponent component = (CompositeComponent) deployer.deploy(parent, componentDefinition);
assertNotNull(component);
verify(parent);
component.start();
- Deployer newDeployer = (Deployer) component.getServiceInstance("deployer");
+ Deployer newDeployer = (Deployer) component.getSystemServiceInstance("deployer");
assertNotNull(newDeployer);
/* // FIXME
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java (from r451663, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/AutowireResolutionTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java?view=diff&rev=451895&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/AutowireResolutionTestCase.java&r1=451663&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/AutowireResolutionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java Sun Oct 1 23:58:18 2006
@@ -16,12 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.implementation.system.component;
+package org.apache.tuscany.core.implementation.composite;
import org.apache.tuscany.spi.component.CompositeComponent;
import junit.framework.TestCase;
-import org.apache.tuscany.core.component.AutowireComponent;
import org.easymock.EasyMock;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.eq;
@@ -37,40 +36,61 @@
public void testConstruction() {
CompositeComponent parent = createMock(CompositeComponent.class);
- AutowireComponent autowire = createMock(AutowireComponent.class);
replay(parent);
- replay(autowire);
- SystemCompositeComponent component = new SystemCompositeComponentImpl("test", parent, autowire, null, null);
+ CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
assertEquals("test", component.getName());
assertSame(parent, component.getParent());
verify(parent);
- verify(autowire);
}
public void testResolveToSelf() {
CompositeComponent parent = createMock(CompositeComponent.class);
- AutowireComponent autowire = createMock(AutowireComponent.class);
replay(parent);
- replay(autowire);
- SystemCompositeComponent component = new SystemCompositeComponentImpl("test", parent, autowire, null, null);
+ CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
assertSame(component, component.resolveInstance(CompositeComponent.class));
- assertSame(component, component.resolveInstance(SystemCompositeComponent.class));
verify(parent);
- verify(autowire);
+ }
+
+ public void testSystemResolveToSelf() {
+ CompositeComponent parent = createMock(CompositeComponent.class);
+ replay(parent);
+ CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
+ assertSame(component, component.resolveSystemInstance(CompositeComponent.class));
+ verify(parent);
}
public void testResolvedByAutowire() {
Foo foo = new Foo() {
};
CompositeComponent parent = createMock(CompositeComponent.class);
- AutowireComponent autowire = createMock(AutowireComponent.class);
- EasyMock.expect(autowire.resolveInstance(eq(Foo.class))).andReturn(foo);
+ EasyMock.expect(parent.resolveInstance(eq(Foo.class))).andReturn(foo);
replay(parent);
- replay(autowire);
- SystemCompositeComponent component = new SystemCompositeComponentImpl("test", parent, autowire, null, null);
+ CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
assertSame(foo, component.resolveInstance(Foo.class));
verify(parent);
- verify(autowire);
+ }
+
+ public void testSystemResolvedByAutowire() {
+ Foo foo = new Foo() {
+ };
+ CompositeComponent parent = createMock(CompositeComponent.class);
+ EasyMock.expect(parent.resolveSystemInstance(eq(Foo.class))).andReturn(foo);
+ replay(parent);
+ CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
+ assertSame(foo, component.resolveSystemInstance(Foo.class));
+ verify(parent);
+ }
+
+ /**
+ * Verify parent resolution strategy for application services
+ */
+ public void testNamespaceIsolationAutowire() {
+ Foo foo = new Foo() {
+ };
+ CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
+ parent.registerJavaObject("foo", Foo.class, foo);
+ CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
+ assertNull(component.resolveInstance(Foo.class));
}
protected void setUp() throws Exception {
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java (from r451663, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/AutowireTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java?view=diff&rev=451895&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/AutowireTestCase.java&r1=451663&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/AutowireTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java Sun Oct 1 23:58:18 2006
@@ -16,12 +16,20 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.implementation.system.component;
+package org.apache.tuscany.core.implementation.composite;
import java.util.ArrayList;
import java.util.List;
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
+
import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.system.component.SystemReference;
+import org.apache.tuscany.core.implementation.system.component.SystemService;
import org.easymock.EasyMock;
/**
@@ -32,12 +40,10 @@
public class AutowireTestCase extends TestCase {
/**
- * Tests autowiring to an atomic context
- *
- * @throws Exception
+ * Tests autowiring to an system atomic component
*/
- public void testAtomicAutowire() throws Exception {
- SystemCompositeComponent parent = new SystemCompositeComponentImpl("parent", null, null, null, null);
+ public void testSystemAtomicAutowire() throws Exception {
+ CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
parent.start();
List<Class<?>> interfaces = new ArrayList<Class<?>>();
@@ -48,6 +54,36 @@
EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
EasyMock.expect(component.getServiceInstance()).andReturn(originalSource).atLeastOnce();
EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+
+ EasyMock.replay(component);
+ parent.register(component);
+
+ Source source = parent.resolveSystemInstance(Source.class);
+ assertNotNull(source);
+ Source2 source2 = parent.resolveSystemInstance(Source2.class);
+ assertSame(source, source2);
+ assertNull(parent.resolveSystemExternalInstance(Source.class));
+ EasyMock.verify(component);
+ }
+
+ /**
+ * Tests autowiring to an system atomic component
+ */
+ public void testAtomicAutowire() throws Exception {
+ CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
+ parent.start();
+
+ List<Class<?>> interfaces = new ArrayList<Class<?>>();
+ interfaces.add(Source.class);
+ interfaces.add(Source2.class);
+ Source originalSource = new SourceImpl();
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(component.getServiceInstance()).andReturn(originalSource).atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
+ EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+
EasyMock.replay(component);
parent.register(component);
@@ -60,10 +96,10 @@
}
/**
- * Tests autowiring to a service context which is wired to an atomic context.
+ * Tests autowiring to a system service which is wired to an atomic component.
*/
- public void testServiceAutowire() throws Exception {
- SystemCompositeComponent parent = new SystemCompositeComponentImpl("parent", null, null, null, null);
+ public void testSystemServiceAutowire() throws Exception {
+ CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
parent.start();
List<Class<?>> interfaces = new ArrayList<Class<?>>();
@@ -75,6 +111,7 @@
EasyMock.expect(component.getName()).andReturn("service").atLeastOnce();
component.getInterface();
EasyMock.expectLastCall().andReturn(Source.class).atLeastOnce();
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
EasyMock.expect(component.getServiceInstance()).andReturn(serviceSource);
EasyMock.replay(component);
parent.register(component);
@@ -83,6 +120,44 @@
SystemAtomicComponent component2 = EasyMock.createMock(SystemAtomicComponent.class);
EasyMock.expect(component2.getName()).andReturn("source").atLeastOnce();
EasyMock.expect(component2.getServiceInterfaces()).andReturn(interfaces).atLeastOnce();
+ EasyMock.expect(component2.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.replay(component2);
+ parent.register(component2);
+
+ Source source = parent.resolveSystemExternalInstance(Source.class);
+ assertSame(serviceSource, source);
+ Source2 source2 = parent.resolveSystemExternalInstance(Source2.class);
+ assertNull(source2);
+ EasyMock.verify(component);
+ EasyMock.verify(component2);
+ }
+
+ /**
+ * Tests autowiring to a system service which is wired to an atomic component.
+ */
+ public void testServiceAutowire() throws Exception {
+ CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
+ parent.start();
+
+ List<Class<?>> interfaces = new ArrayList<Class<?>>();
+ interfaces.add(Source.class);
+ interfaces.add(Source2.class);
+
+ Source serviceSource = new SourceImpl();
+ Service component = EasyMock.createMock(Service.class);
+ EasyMock.expect(component.getName()).andReturn("service").atLeastOnce();
+ component.getInterface();
+ EasyMock.expectLastCall().andReturn(Source.class).atLeastOnce();
+ EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+ EasyMock.expect(component.getServiceInstance()).andReturn(serviceSource);
+ EasyMock.replay(component);
+ parent.register(component);
+
+
+ AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(component2.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(component2.getServiceInterfaces()).andReturn(interfaces).atLeastOnce();
+ EasyMock.expect(component2.isSystem()).andReturn(false).atLeastOnce();
EasyMock.replay(component2);
parent.register(component2);
@@ -94,17 +169,41 @@
EasyMock.verify(component2);
}
+
/**
- * Tests autowiring to a reference
+ * Tests autowiring to a system reference
*/
- public void testReferenceAutowire() throws Exception {
- SystemCompositeComponent parent = new SystemCompositeComponentImpl("parent", null, null, null, null);
+ public void testSystemReferenceAutowire() throws Exception {
+ CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
parent.start();
Source refSource = new SourceImpl();
SystemReference reference = EasyMock.createMock(SystemReference.class);
EasyMock.expect(reference.getName()).andReturn("service").atLeastOnce();
EasyMock.expect(reference.getServiceInstance()).andReturn(refSource);
+ EasyMock.expect(reference.isSystem()).andReturn(true).atLeastOnce();
+ reference.getInterface();
+ EasyMock.expectLastCall().andReturn(Source.class);
+ EasyMock.replay(reference);
+ parent.register(reference);
+
+ Source source = parent.resolveSystemInstance(Source.class);
+ assertNotNull(source);
+ assertNull(parent.resolveSystemExternalInstance(Source.class));
+ EasyMock.verify(reference);
+ }
+
+ /**
+ * Tests autowiring to a reference
+ */
+ public void testReferenceAutowire() throws Exception {
+ CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
+ parent.start();
+ Source refSource = new SourceImpl();
+ Reference reference = EasyMock.createMock(Reference.class);
+ EasyMock.expect(reference.getName()).andReturn("service").atLeastOnce();
+ EasyMock.expect(reference.getServiceInstance()).andReturn(refSource);
+ EasyMock.expect(reference.isSystem()).andReturn(false).atLeastOnce();
reference.getInterface();
EasyMock.expectLastCall().andReturn(Source.class);
EasyMock.replay(reference);
@@ -115,6 +214,7 @@
assertNull(parent.resolveExternalInstance(Source.class));
EasyMock.verify(reference);
}
+
public static class SourceImpl implements Source, Source2 {
public SourceImpl() {
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java Sun Oct 1 23:58:18 2006
@@ -74,7 +74,7 @@
@SuppressWarnings("unchecked")
public void testBuildConnect() throws Exception {
- CompositeComponent parent = new CompositeComponentImpl(null, null, null, null, null);
+ CompositeComponent parent = new CompositeComponentImpl(null, null, null, null);
CompositeBuilder builder = new CompositeBuilder();
WireService wireService = new JDKWireService();
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java (from r451885, incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java?view=diff&rev=451895&p1=incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java&r1=451885&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java Sun Oct 1 23:58:18 2006
@@ -16,85 +16,63 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.spi.extension;
+package org.apache.tuscany.core.implementation.composite;
import java.util.List;
-import org.apache.tuscany.spi.builder.Connector;
-import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ComponentNotFoundException;
-import org.apache.tuscany.spi.component.DuplicateNameException;
+import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.IllegalTargetException;
-import org.apache.tuscany.spi.component.InvalidComponentTypeException;
import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.component.TargetNotFoundException;
import org.apache.tuscany.spi.event.Event;
import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.extension.ServiceExtension;
import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.wire.TargetInvoker;
+import junit.framework.Assert;
import junit.framework.TestCase;
+import org.apache.tuscany.core.component.event.CompositeStart;
+import org.easymock.EasyMock;
import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.createNiceMock;
import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.isA;
import static org.easymock.EasyMock.replay;
/**
* @version $Rev$ $Date$
*/
-public class CompositeComponentExtensionTestCase extends TestCase {
+public class CompositeComponentImplBasicTestCase extends TestCase {
public void testGetScope() {
- assertEquals(Scope.COMPOSITE, new Composite().getScope());
- }
-
- public void testInvalidType() {
- Composite composite = new Composite();
- try {
- composite.register(getAtomic("foo"));
- fail();
- } catch (InvalidComponentTypeException e) {
- // expected
- }
- }
-
- public void testDuplicateName() {
- Composite composite = new Composite();
- composite.register(new ServiceExtension("foo", null, null, null));
- try {
- composite.register(new ServiceExtension("foo", null, null, null));
- fail();
- } catch (DuplicateNameException e) {
- // expected
- }
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
+ Assert.assertEquals(Scope.COMPOSITE, composite.getScope());
}
public void testGetChildren() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
composite.register(new ServiceExtension("foo", null, null, null));
- assertEquals(1, composite.getChildren().size());
+ Assert.assertEquals(1, composite.getChildren().size());
}
public void testGetServices() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
composite.register(new ServiceExtension("foo", null, null, null));
composite.register(getReference("bar"));
- assertEquals(1, composite.getServices().size());
+ Assert.assertEquals(1, composite.getServices().size());
}
public void testGetService() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
composite.register(new ServiceExtension("foo", null, null, null));
composite.start();
assertNotNull(composite.getService("foo"));
}
public void testServiceNotFound() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
composite.register(new ServiceExtension("foo", null, null, null));
composite.start();
try {
@@ -106,7 +84,7 @@
}
public void testNotService() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
composite.register(getReference("foo"));
composite.start();
try {
@@ -116,9 +94,9 @@
// expected
}
}
-
+
public void testTargetNotFound() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
composite.register(getReference("foo"));
composite.start();
try {
@@ -127,17 +105,17 @@
} catch (TargetNotFoundException e) {
// expected
}
- }
+ }
public void testReferencesServices() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
composite.register(new ServiceExtension("foo", null, null, null));
composite.register(getReference("bar"));
- assertEquals(1, composite.getReferences().size());
+ Assert.assertEquals(1, composite.getReferences().size());
}
public void testServiceInterfaces() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
Service service1 = getService("foo", Foo.class);
composite.register(service1);
Service service2 = getService("bar", Bar.class);
@@ -153,8 +131,9 @@
}
public void testGetServiceInstanceByName() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
Service service = createMock(Service.class);
+ EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
service.getName();
expectLastCall().andReturn("foo").anyTimes();
service.getInterface();
@@ -168,7 +147,7 @@
}
public void testGetServiceInstanceNotFound() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
Service service = getService("foo", Foo.class);
composite.register(service);
try {
@@ -180,7 +159,7 @@
}
public void testGetServiceInstanceNotService() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
Reference reference = getReference("foo");
composite.register(reference);
try {
@@ -192,73 +171,45 @@
}
public void testOnEvent() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
Event event = new Event() {
public Object getSource() {
return null;
}
};
RuntimeEventListener listener = createMock(RuntimeEventListener.class);
+ listener.onEvent(isA(CompositeStart.class));
listener.onEvent(eq(event));
expectLastCall();
replay(listener);
composite.addListener(listener);
+ composite.start();
composite.onEvent(event);
}
public void testPrepare() {
- Composite composite = new Composite();
+ CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
composite.prepare();
}
-// TODO method not implemented
-// public void testSingleGetServiceInstance(){
-// Composite composite = new Composite();
-// Mock mock = mock(Service.class);
-// mock.stubs().method("getName").will(returnValue("foo"));
-// mock.stubs().method("getInterface").will(returnValue(Foo.class));
-// mock.expects(once()).method("getServiceInstance").will(returnValue(new Foo(){}));
-// Service service = (Service) mock.proxy();
-// composite.register(service);
-// assertNotNull(composite.getServiceInstance());
-// }
-
- private class Composite extends CompositeComponentExtension {
- public Composite() {
- super(null, null, createNiceMock(Connector.class), null);
- }
-
- public void setScopeContainer(ScopeContainer scopeContainer) {
-
- }
-
- public TargetInvoker createTargetInvoker(String targetName, Operation operation) {
- return null;
- }
- }
-
- private AtomicComponent getAtomic(String name) {
- AtomicComponent component = createMock(AtomicComponent.class);
- component.getName();
- expectLastCall().andReturn(name).anyTimes();
- replay(component);
- return component;
- }
-
private Reference getReference(String name) {
- Reference reference = createMock(Reference.class);
+ Reference reference = EasyMock.createNiceMock(Reference.class);
+ EasyMock.expect(reference.isSystem()).andReturn(false).atLeastOnce();
reference.getName();
expectLastCall().andReturn(name).anyTimes();
+ reference.getInterface();
+ expectLastCall().andReturn(Object.class).atLeastOnce();
replay(reference);
return reference;
}
private Service getService(String name, Class<?> interfaze) {
Service service = createMock(Service.class);
+ EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
service.getName();
expectLastCall().andReturn(name).anyTimes();
service.getInterface();
- expectLastCall().andReturn(interfaze);
+ expectLastCall().andReturn(interfaze).atLeastOnce();
replay(service);
return service;
}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java?view=auto&rev=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java Sun Oct 1 23:58:18 2006
@@ -0,0 +1,168 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.builder.BuilderConfigException;
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
+import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.OutboundWire;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.builder.ConnectorImpl;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CompositeComponentImplSystemWireTestCase extends TestCase {
+
+ /**
+ * Verifies system services in a CompositeComponentImpl are wired during the parent composite's prepare callback
+ */
+ public void testSystemServiceWire() {
+ InboundWire inbound = EasyMock.createMock(InboundWire.class);
+ EasyMock.expect(inbound.getServiceContract()).andReturn(new JavaServiceContract(Foo.class));
+ inbound.getInvocationChains();
+ EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Foo.class);
+ QualifiedName qName = new QualifiedName("target/bar");
+ OutboundWire outbound = EasyMock.createMock(OutboundWire.class);
+ EasyMock.expect(outbound.getTargetName()).andReturn(qName).atLeastOnce();
+ outbound.getInvocationChains();
+ EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+ outbound.setTargetWire(EasyMock.eq(inbound));
+ EasyMock.expect(outbound.getServiceContract()).andReturn(new JavaServiceContract(Foo.class)).atLeastOnce();
+ List<OutboundWire> wires = new ArrayList<OutboundWire>();
+ wires.add(outbound);
+ Map<String, List<OutboundWire>> wireMap = new HashMap<String, List<OutboundWire>>();
+ wireMap.put("ref", wires);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, new ConnectorImpl(), null);
+ SystemAtomicComponent source = EasyMock.createMock(SystemAtomicComponent.class);
+ EasyMock.expect(source.getScope()).andReturn(Scope.MODULE).atLeastOnce();
+ EasyMock.expect(source.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(source.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(source.getOutboundWires()).andReturn(wireMap);
+ source.getInboundWires();
+ EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+ EasyMock.expect(source.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.expect(source.getParent()).andReturn(parent).atLeastOnce();
+
+ source.prepare();
+ EasyMock.replay(source);
+
+ EasyMock.expect(outbound.getContainer()).andReturn(source);
+ EasyMock.replay(outbound);
+
+ parent.register(source);
+
+ SystemAtomicComponent target = EasyMock.createMock(SystemAtomicComponent.class);
+ EasyMock.expect(target.getName()).andReturn("target").atLeastOnce();
+ EasyMock.expect(target.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(target.getInboundWire("bar")).andReturn(inbound).atLeastOnce();
+ EasyMock.expect(target.getScope()).andReturn(Scope.MODULE).atLeastOnce();
+ EasyMock.expect(target.getParent()).andReturn(parent).atLeastOnce();
+ target.getInboundWires();
+ EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+
+ target.prepare();
+ target.getOutboundWires();
+ EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+ EasyMock.expect(target.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.replay(target);
+
+ EasyMock.expect(inbound.getContainer()).andReturn(target);
+ EasyMock.replay(inbound);
+
+ parent.register(target);
+ parent.prepare();
+ EasyMock.verify(source);
+ EasyMock.verify(target);
+ EasyMock.verify(inbound);
+ EasyMock.verify(outbound);
+ }
+
+
+ /**
+ * Verifies an application component cannot be wired to a system service in the same composite
+ */
+ public void testSystemServiceIsolationWire() {
+ InboundWire inbound = EasyMock.createMock(InboundWire.class);
+ EasyMock.replay(inbound);
+
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Foo.class);
+ QualifiedName qName = new QualifiedName("target/bar");
+ OutboundWire outbound = EasyMock.createMock(OutboundWire.class);
+ EasyMock.expect(outbound.getReferenceName()).andReturn("foo");
+ EasyMock.expect(outbound.getTargetName()).andReturn(qName).atLeastOnce();
+ EasyMock.replay(outbound);
+
+ List<OutboundWire> wires = new ArrayList<OutboundWire>();
+ wires.add(outbound);
+ Map<String, List<OutboundWire>> wireMap = new HashMap<String, List<OutboundWire>>();
+ wireMap.put("ref", wires);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, new ConnectorImpl(), null);
+ SystemAtomicComponent source = EasyMock.createMock(SystemAtomicComponent.class);
+ EasyMock.expect(source.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(source.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(source.getOutboundWires()).andReturn(wireMap);
+ EasyMock.expect(source.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.expect(source.getParent()).andReturn(parent).atLeastOnce();
+ EasyMock.replay(source);
+
+ parent.register(source);
+
+ AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(target.getName()).andReturn("target").atLeastOnce();
+ EasyMock.expect(target.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(target.isSystem()).andReturn(false).atLeastOnce();
+ EasyMock.replay(target);
+
+ parent.register(target);
+ try {
+ parent.prepare();
+ fail();
+ } catch (BuilderConfigException e) {
+ //expected
+ }
+ EasyMock.verify(source);
+ EasyMock.verify(target);
+ EasyMock.verify(inbound);
+ EasyMock.verify(outbound);
+ }
+
+
+ private class Foo {
+
+ }
+
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java?view=auto&rev=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java Sun Oct 1 23:58:18 2006
@@ -0,0 +1,174 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CompositeComponentImplTestCase extends TestCase {
+
+ public void testSetUri() throws Exception {
+ CompositeComponentImpl component = new CompositeComponentImpl("foo", "foo/bar", null, null, null);
+ assertEquals("foo/bar", component.getURI());
+ }
+
+ public void testRegisterSystemService() throws Exception {
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Foo.class);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
+ SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.replay(component);
+ parent.register(component);
+ assertNull(parent.getChild("bar"));
+ assertNotNull(parent.getSystemChild("bar"));
+ EasyMock.verify(component);
+ }
+
+ public void testRegister() throws Exception {
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Foo.class);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+ EasyMock.replay(component);
+ parent.register(component);
+ assertNull(parent.getSystemChild("bar"));
+ assertNotNull(parent.getChild("bar"));
+ EasyMock.verify(component);
+ }
+
+ /**
+ * Verifies a system service and application component can be registered with the same name in a composite
+ */
+ public void testSystemServiceApplicationNamespaceIsolation() throws Exception {
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Foo.class);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
+ SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.replay(component);
+ parent.register(component);
+ AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(component2.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component2.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component2.isSystem()).andReturn(false).atLeastOnce();
+ EasyMock.replay(component2);
+ parent.register(component2);
+ EasyMock.verify(component);
+ EasyMock.verify(component2);
+ }
+
+ public void testSystemServiceLifecycle() throws Exception {
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Foo.class);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
+ SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ component.start();
+ EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+ component.stop();
+ EasyMock.replay(component);
+ parent.register(component);
+ parent.start();
+ parent.stop();
+ EasyMock.verify(component);
+ }
+
+ public void testComponentLifecycle() throws Exception {
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Foo.class);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
+ component.start();
+ EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+ component.stop();
+ EasyMock.replay(component);
+ parent.register(component);
+ parent.start();
+ parent.stop();
+ EasyMock.verify(component);
+ }
+
+ public void testSystemServiceAutowire() throws Exception {
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Foo.class);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
+ SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ component.start();
+ EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component.getServiceInstance()).andReturn(new Foo() {
+ });
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+ component.stop();
+ EasyMock.replay(component);
+ parent.register(component);
+ parent.start();
+ assertNull(parent.resolveSystemExternalInstance(Foo.class));
+ assertNotNull(parent.resolveSystemInstance(Foo.class));
+ parent.stop();
+ EasyMock.verify(component);
+ }
+
+
+ public void testAutowire() throws Exception {
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Foo.class);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
+ SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ component.start();
+ EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component.getServiceInstance()).andReturn(new Foo() {
+ });
+ EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+ component.stop();
+ EasyMock.replay(component);
+ parent.register(component);
+ parent.start();
+ assertNull(parent.resolveExternalInstance(Foo.class));
+ assertNotNull(parent.resolveInstance(Foo.class));
+ parent.stop();
+ EasyMock.verify(component);
+ }
+
+ private class Foo {
+
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java (from r451663, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponentResolutionTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java?view=diff&rev=451895&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponentResolutionTestCase.java&r1=451663&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponentResolutionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java Sun Oct 1 23:58:18 2006
@@ -16,12 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.implementation.system.component;
+package org.apache.tuscany.core.implementation.composite;
import java.util.ArrayList;
import java.util.List;
import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.ComponentNotFoundException;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import junit.framework.TestCase;
import org.apache.tuscany.core.mock.component.Source;
@@ -33,10 +37,30 @@
*
* @version $$Rev$$ $$Date$$
*/
-public class SystemCompositeComponentResolutionTestCase extends TestCase {
+public class CompositeComponentResolutionTestCase extends TestCase {
- public void testComponentResolution() throws NoSuchMethodException {
- SystemCompositeComponent parent = new SystemCompositeComponentImpl("foo", null, null, null, null);
+ public void testSystemComponentResolution() throws NoSuchMethodException {
+ CompositeComponent parent = new CompositeComponentImpl("foo", null, null, null);
+ parent.start();
+ List<Class<?>> interfaces = new ArrayList<Class<?>>();
+ interfaces.add(Source.class);
+ Source originalSource = new SourceImpl();
+ SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(component.getServiceInstance()).andReturn(originalSource);
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
+ EasyMock.replay(component);
+ parent.register(component);
+ assertNull(parent.getChild("source"));
+ AtomicComponent target = (AtomicComponent) parent.getSystemChild("source");
+ Source source = (Source) target.getServiceInstance();
+ assertNotNull(source);
+ EasyMock.verify(component);
+ }
+
+ public void testLocateSystemService() throws NoSuchMethodException {
+ CompositeComponent parent = new CompositeComponentImpl("foo", null, null, null);
parent.start();
List<Class<?>> interfaces = new ArrayList<Class<?>>();
interfaces.add(Source.class);
@@ -44,13 +68,92 @@
SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
EasyMock.expect(component.getServiceInstance()).andReturn(originalSource);
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
+ EasyMock.replay(component);
+ parent.register(component);
+ Source source = parent.locateSystemService(Source.class, "source");
+ assertNotNull(source);
+ EasyMock.verify(component);
+ }
+
+ public void testLocateService() throws NoSuchMethodException {
+ CompositeComponent parent = new CompositeComponentImpl("foo", null, null, null);
+ parent.start();
+ List<Class<?>> interfaces = new ArrayList<Class<?>>();
+ interfaces.add(Source.class);
+ Source originalSource = new SourceImpl();
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(component.getServiceInstance()).andReturn(originalSource);
+ EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
+ EasyMock.replay(component);
+ parent.register(component);
+ Source source = parent.locateService(Source.class, "source");
+ assertNotNull(source);
+ EasyMock.verify(component);
+ }
+
+ public void testComponentResolution() throws NoSuchMethodException {
+ CompositeComponent parent = new CompositeComponentImpl("foo", null, null, null);
+ parent.start();
+ List<Class<?>> interfaces = new ArrayList<Class<?>>();
+ interfaces.add(Source.class);
+ Source originalSource = new SourceImpl();
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(component.getServiceInstance()).andReturn(originalSource);
+ EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
EasyMock.replay(component);
parent.register(component);
- AtomicComponent ctx = (AtomicComponent) parent.getChild("source");
- Source source = (Source) ctx.getServiceInstance();
+ assertNull(parent.getSystemChild("source"));
+ AtomicComponent target = (AtomicComponent) parent.getChild("source");
+ Source source = (Source) target.getServiceInstance();
assertNotNull(source);
EasyMock.verify(component);
+ }
+
+
+ public void testGetService() throws NoSuchMethodException {
+ CompositeComponent parent = new CompositeComponentImpl("foo", null, null, null);
+ parent.start();
+ Service service = EasyMock.createMock(Service.class);
+ EasyMock.expect(service.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
+ service.getInterface();
+ EasyMock.expectLastCall().andReturn(Source.class);
+ EasyMock.replay(service);
+ parent.register(service);
+ assertNotNull(parent.getService("source"));
+ try {
+ parent.getSystemService("source");
+ fail();
+ } catch (ComponentNotFoundException e) {
+ // expected
+ }
+ EasyMock.verify(service);
+ }
+
+ public void testSystemGetService() throws NoSuchMethodException {
+ CompositeComponent parent = new CompositeComponentImpl("foo", null, null, null);
+ parent.start();
+ Service service = EasyMock.createMock(Service.class);
+ EasyMock.expect(service.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(service.isSystem()).andReturn(true).atLeastOnce();
+ service.getInterface();
+ EasyMock.expectLastCall().andReturn(Source.class);
+ EasyMock.replay(service);
+ parent.register(service);
+ assertNotNull(parent.getSystemService("source"));
+ try {
+ parent.getService("source");
+ fail();
+ } catch (ComponentNotFoundException e) {
+ // expected
+ }
+ EasyMock.verify(service);
}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java (from r451663, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeLifecycleTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java?view=diff&rev=451895&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeLifecycleTestCase.java&r1=451663&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java Sun Oct 1 23:58:18 2006
@@ -16,12 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.implementation.system.component;
+package org.apache.tuscany.core.implementation.composite;
import java.util.ArrayList;
import java.util.List;
import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import junit.framework.TestCase;
import org.apache.tuscany.core.mock.component.Source;
@@ -31,10 +33,10 @@
/**
* @version $$Rev$$ $$Date$$
*/
-public class SystemCompositeLifecycleTestCase extends TestCase {
+public class CompositeLifecycleTestCase extends TestCase {
public void testLifecycle() throws Exception {
- SystemCompositeComponent composite = new SystemCompositeComponentImpl("foo", null, null, null, null);
+ CompositeComponent composite = new CompositeComponentImpl("foo", null, null, null);
composite.start();
assertNull(composite.getChild("nothtere"));
composite.stop();
@@ -43,7 +45,7 @@
composite.stop();
}
- public void testRestart() throws NoSuchMethodException {
+ public void testSystemRestart() throws NoSuchMethodException {
List<Class<?>> interfaces = new ArrayList<Class<?>>();
interfaces.add(Source.class);
Source originalSource = new SourceImpl();
@@ -52,11 +54,42 @@
component.stop();
EasyMock.expectLastCall().times(2);
EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.expect(component.getServiceInstance()).andReturn(originalSource).atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
+ EasyMock.replay(component);
+
+ CompositeComponent composite = new CompositeComponentImpl("foo", null, null, null);
+ composite.start();
+ composite.register(component);
+
+ AtomicComponent atomicComponent = (AtomicComponent) composite.getSystemChild("source");
+ Source source = (Source) atomicComponent.getServiceInstance();
+ assertNotNull(source);
+ composite.stop();
+ composite.start();
+ atomicComponent = (AtomicComponent) composite.getSystemChild("source");
+ Source source2 = (Source) atomicComponent.getServiceInstance();
+ assertNotNull(source2);
+ composite.stop();
+ EasyMock.verify(component);
+ }
+
+ public void testRestart() throws NoSuchMethodException {
+ List<Class<?>> interfaces = new ArrayList<Class<?>>();
+ interfaces.add(Source.class);
+ Source originalSource = new SourceImpl();
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
+ component.start();
+ component.stop();
+ EasyMock.expectLastCall().times(2);
+ EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
EasyMock.expect(component.getServiceInstance()).andReturn(originalSource).atLeastOnce();
EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
EasyMock.replay(component);
- SystemCompositeComponent composite = new SystemCompositeComponentImpl("foo", null, null, null, null);
+ CompositeComponent composite = new CompositeComponentImpl("foo", null, null, null);
composite.start();
composite.register(component);
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java (from r451663, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/CompositePropagationTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java?view=diff&rev=451895&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/CompositePropagationTestCase.java&r1=451663&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/CompositePropagationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java Sun Oct 1 23:58:18 2006
@@ -16,27 +16,45 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.implementation.system.component;
+package org.apache.tuscany.core.implementation.composite;
import java.util.ArrayList;
import java.util.List;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
+
import junit.framework.TestCase;
import org.apache.tuscany.core.mock.component.Source;
+import org.easymock.EasyMock;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
/**
- * Tests registering arbitrarily deep child composite contexts
*
* @version $Rev$ $Date$
*/
public class CompositePropagationTestCase extends TestCase {
- private SystemCompositeComponent parent;
- private SystemCompositeComponent child2;
+ private CompositeComponent parent;
+ private CompositeComponent child2;
+
+ public void testSystemLifecyclePropagation() throws NoSuchMethodException {
+ parent.start();
+ List<Class<?>> interfaces = new ArrayList<Class<?>>();
+ interfaces.add(Source.class);
+ SystemAtomicComponent component = createMock(SystemAtomicComponent.class);
+ expect(component.getName()).andReturn("source").anyTimes();
+ component.stop();
+ expect(component.getServiceInterfaces()).andReturn(interfaces);
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+ replay(component);
+ child2.register(component);
+ parent.stop();
+ verify(component);
+ }
public void testLifecyclePropagation() throws NoSuchMethodException {
parent.start();
@@ -46,6 +64,7 @@
expect(component.getName()).andReturn("source").anyTimes();
component.stop();
expect(component.getServiceInterfaces()).andReturn(interfaces);
+ EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
replay(component);
child2.register(component);
parent.stop();
@@ -55,9 +74,9 @@
protected void setUp() throws Exception {
super.setUp();
- parent = new SystemCompositeComponentImpl("parent", null, null, null, null);
- SystemCompositeComponent child1 = new SystemCompositeComponentImpl("child1", parent, null, null, null);
- child2 = new SystemCompositeComponentImpl("child2", child1, null, null, null);
+ parent = new CompositeComponentImpl("parent", null, null, null);
+ CompositeComponent child1 = new CompositeComponentImpl("child1", parent, null, null);
+ child2 = new CompositeComponentImpl("child2", child1, null, null);
child1.register(child2);
parent.register(child1);
}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java (from r451663, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/DuplicateRegistrationTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java?view=diff&rev=451895&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/DuplicateRegistrationTestCase.java&r1=451663&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/DuplicateRegistrationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java Sun Oct 1 23:58:18 2006
@@ -16,12 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.implementation.system.component;
+package org.apache.tuscany.core.implementation.composite;
import java.util.ArrayList;
import java.util.List;
+import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.DuplicateNameException;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import junit.framework.TestCase;
import org.apache.tuscany.core.mock.component.Source;
@@ -35,19 +37,21 @@
public class DuplicateRegistrationTestCase extends TestCase {
public void testDuplicateRegistration() throws Exception {
- SystemCompositeComponent parent = new SystemCompositeComponentImpl(null, null, null, null, null);
+ CompositeComponent parent = new CompositeComponentImpl(null, null, null, null);
parent.start();
List<Class<?>> interfaces = new ArrayList<Class<?>>();
interfaces.add(Source.class);
SystemAtomicComponent component1 = EasyMock.createMock(SystemAtomicComponent.class);
EasyMock.expect(component1.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(component1.isSystem()).andReturn(true).atLeastOnce();
component1.stop();
EasyMock.expect(component1.getServiceInterfaces()).andReturn(interfaces);
EasyMock.replay(component1);
SystemAtomicComponent component2 = EasyMock.createMock(SystemAtomicComponent.class);
EasyMock.expect(component2.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(component2.isSystem()).andReturn(true).atLeastOnce();
component2.stop();
EasyMock.expect(component2.getServiceInterfaces()).andReturn(interfaces);
EasyMock.replay(component2);
@@ -61,6 +65,30 @@
}
parent.stop();
}
+
+ public void testDuplicateNameSystemService() throws Exception {
+ List<Class<?>> services = new ArrayList<Class<?>>();
+ services.add(Source.class);
+ CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
+ SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.replay(component);
+ parent.register(component);
+ SystemAtomicComponent component2 = EasyMock.createMock(SystemAtomicComponent.class);
+ EasyMock.expect(component2.getName()).andReturn("bar").atLeastOnce();
+ EasyMock.expect(component2.getServiceInterfaces()).andReturn(services);
+ EasyMock.expect(component2.isSystem()).andReturn(true).atLeastOnce();
+ EasyMock.replay(component2);
+ try {
+ parent.register(component2);
+ fail();
+ } catch (DuplicateNameException e) {
+ // expected
+ }
+ }
+
protected void setUp() throws Exception {
super.setUp();
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ImplementationCompositeLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ImplementationCompositeLoaderTestCase.java?view=diff&rev=451895&r1=451894&r2=451895
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ImplementationCompositeLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ImplementationCompositeLoaderTestCase.java Sun Oct 1 23:58:18 2006
@@ -25,16 +25,17 @@
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
-import junit.framework.TestCase;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.model.CompositeImplementation;
+
+import junit.framework.TestCase;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
/**
* @version $Rev$ $Date$
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org