You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/04/05 08:08:41 UTC

svn commit: r525717 [3/4] - in /incubator/tuscany/java/sca/modules/core: ./ src/main/java/org/apache/tuscany/core/binding/local/ src/main/java/org/apache/tuscany/core/bootstrap/ src/main/java/org/apache/tuscany/core/builder/ src/main/java/org/apache/tu...

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java Wed Apr  4 23:08:37 2007
@@ -21,6 +21,24 @@
 import java.net.URI;
 import java.util.Map;
 
+import junit.framework.TestCase;
+
+import org.apache.tuscany.assembly.ComponentService;
+import org.apache.tuscany.assembly.ComponentType;
+import org.apache.tuscany.assembly.Composite;
+import org.apache.tuscany.assembly.CompositeReference;
+import org.apache.tuscany.assembly.CompositeService;
+import org.apache.tuscany.assembly.Implementation;
+import org.apache.tuscany.assembly.Multiplicity;
+import org.apache.tuscany.assembly.impl.BindingImpl;
+import org.apache.tuscany.assembly.impl.ComponentImpl;
+import org.apache.tuscany.assembly.impl.ComponentServiceImpl;
+import org.apache.tuscany.assembly.impl.ComponentTypeImpl;
+import org.apache.tuscany.assembly.impl.CompositeImpl;
+import org.apache.tuscany.assembly.impl.CompositeReferenceImpl;
+import org.apache.tuscany.assembly.impl.CompositeServiceImpl;
+import org.apache.tuscany.core.implementation.composite.ServiceImpl;
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.builder.BindingBuilder;
 import org.apache.tuscany.spi.builder.BuilderConfigException;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
@@ -34,18 +52,6 @@
 import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.component.ServiceBinding;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.model.BindingDefinition;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.CompositeComponentType;
-import org.apache.tuscany.spi.model.CompositeImplementation;
-import org.apache.tuscany.spi.model.Implementation;
-import static org.apache.tuscany.spi.model.Multiplicity.ONE_ONE;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-import junit.framework.TestCase;
 import org.easymock.EasyMock;
 
 /**
@@ -62,13 +68,14 @@
     @SuppressWarnings({"unchecked"})
     public void testRegistration() throws Exception {
         URI componentId = URI.create("sca://localhost/component");
-        CompositeImplementation implementation = new CompositeImplementation();
-        ComponentDefinition<CompositeImplementation> componentDefinition =
-            new ComponentDefinition<CompositeImplementation>(implementation);
-        componentDefinition.getImplementation().setComponentType(new CompositeComponentType());
+        Composite implementation = new CompositeImpl();
+        org.apache.tuscany.assembly.Component componentDefinition =
+            new ComponentImpl();
+        componentDefinition.setImplementation(implementation);
 
         Component component = EasyMock.createMock(Component.class);
-        component.setDefaultPropertyValues(componentDefinition.getPropertyValues());
+        // FIXME:
+        // component.setDefaultPropertyValues(componentDefinition.getPropertyValues());
         component.setScopeContainer(scopeContainer);
         EasyMock.expect(component.getUri()).andReturn(componentId);
         EasyMock.replay(component);
@@ -85,7 +92,7 @@
         EasyMock.replay(builder);
 
         BuilderRegistry registry = new BuilderRegistryImpl(null);
-        registry.register(CompositeImplementation.class, builder);
+        registry.register(Composite.class, builder);
 
         assertSame(component, registry.build(componentDefinition, deploymentContext));
         EasyMock.verify(builder);
@@ -98,15 +105,18 @@
         EasyMock.replay(binding);
         BindingBuilder<MockBindingDefinition> builder = EasyMock.createMock(BindingBuilder.class);
         EasyMock.expect(builder.build(
-            EasyMock.isA(ServiceDefinition.class),
+            EasyMock.isA(CompositeService.class),
             EasyMock.isA(MockBindingDefinition.class),
             EasyMock.isA(DeploymentContext.class))).andReturn(binding).times(2);
         EasyMock.replay(builder);
         registry.register(MockBindingDefinition.class, builder);
-        ServiceDefinition definition = new ServiceDefinition(URI.create("#foo"), null, false);
-        definition.addBinding(new MockBindingDefinition());
-        definition.addBinding(new MockBindingDefinition());
-        definition.setTarget(new URI("foo"));
+        CompositeService definition = new CompositeServiceImpl();
+        definition.setName("foo");
+        definition.getBindings().add(new MockBindingDefinition());
+        definition.getBindings().add(new MockBindingDefinition());
+        ComponentService target = new ComponentServiceImpl();
+        target.setName("foo");
+        definition.setPromotedService(target);
         Service service = registry.build(definition, deploymentContext);
         assertEquals(2, service.getServiceBindings().size());
     }
@@ -118,14 +128,16 @@
         EasyMock.replay(binding);
         BindingBuilder<MockBindingDefinition> builder = EasyMock.createMock(BindingBuilder.class);
         EasyMock.expect(builder.build(
-            EasyMock.isA(ReferenceDefinition.class),
+            EasyMock.isA(CompositeReference.class),
             EasyMock.isA(MockBindingDefinition.class),
             EasyMock.isA(DeploymentContext.class))).andReturn(binding).times(2);
         EasyMock.replay(builder);
         registry.register(MockBindingDefinition.class, builder);
-        ReferenceDefinition definition = new ReferenceDefinition(URI.create("#foo"), null, ONE_ONE);
-        definition.addBinding(new MockBindingDefinition());
-        definition.addBinding(new MockBindingDefinition());
+        CompositeReference definition = new CompositeReferenceImpl();
+        definition.setName("foo");
+        definition.setMultiplicity(Multiplicity.ONE_ONE);
+        definition.getBindings().add(new MockBindingDefinition());
+        definition.getBindings().add(new MockBindingDefinition());
         Reference reference = registry.build(definition, deploymentContext);
         assertEquals(2, reference.getReferenceBindings().size());
     }
@@ -140,19 +152,19 @@
 
         AtomicComponent component = EasyMock.createNiceMock(AtomicComponent.class);
         EasyMock.replay(component);
-        ComponentBuilder<FooImplementation> builder = EasyMock.createMock(ComponentBuilder.class);
+        ComponentBuilder builder = EasyMock.createMock(ComponentBuilder.class);
         EasyMock.expect(builder.build(
-            EasyMock.isA(ComponentDefinition.class),
+            EasyMock.isA(org.apache.tuscany.assembly.Component.class),
             EasyMock.isA(DeploymentContext.class))).andReturn(component);
         EasyMock.replay(builder);
         registry.register(FooImplementation.class, builder);
 
         FooImplementation impl = new FooImplementation();
-        ComponentType componentType = new ComponentType();
-        componentType.setImplementationScope(Scope.CONVERSATION);
-        impl.setComponentType(componentType);
+        // FIXME:
+        // impl.setImplementationScope(Scope.CONVERSATION);
         URI uri = URI.create("foo");
-        ComponentDefinition<FooImplementation> definition = new ComponentDefinition<FooImplementation>(uri, impl);
+        org.apache.tuscany.assembly.Component definition = new ComponentImpl();
+        definition.setImplementation(impl);
         try {
             registry.build(definition, deploymentContext);
             fail("Should throw NoConversationalContractException");
@@ -170,19 +182,19 @@
         components = EasyMock.createMock(Map.class);
     }
 
-    private class MockBuilder implements ComponentBuilder<CompositeImplementation> {
+    private class MockBuilder implements ComponentBuilder {
         public Component build(
-            ComponentDefinition componentDefinition,
+            org.apache.tuscany.assembly.Component componentDefinition,
             DeploymentContext deploymentContext) throws BuilderConfigException {
             return null;
         }
     }
 
-    private class MockBindingDefinition extends BindingDefinition {
+    private class MockBindingDefinition extends BindingImpl {
 
     }
 
-    private class FooImplementation extends Implementation<ComponentType> {
+    private class FooImplementation extends ComponentTypeImpl implements Implementation {
 
     }
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java Wed Apr  4 23:08:37 2007
@@ -23,29 +23,40 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
+
 import javax.xml.namespace.QName;
 
+import junit.framework.TestCase;
+
+import org.apache.tuscany.assembly.AssemblyFactory;
+import org.apache.tuscany.assembly.ComponentReference;
+import org.apache.tuscany.assembly.ComponentService;
+import org.apache.tuscany.assembly.ComponentType;
+import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.assembly.Implementation;
+import org.apache.tuscany.assembly.Multiplicity;
+import org.apache.tuscany.assembly.Property;
+import org.apache.tuscany.assembly.Reference;
+import org.apache.tuscany.assembly.impl.ComponentImpl;
+import org.apache.tuscany.assembly.impl.ComponentReferenceImpl;
+import org.apache.tuscany.assembly.impl.ComponentServiceImpl;
+import org.apache.tuscany.assembly.impl.ComponentTypeImpl;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.assembly.impl.ReferenceImpl;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
+import org.apache.tuscany.core.wire.InvokerInterceptor;
+import org.apache.tuscany.core.wire.NonBlockingInterceptor;
+import org.apache.tuscany.idl.Operation;
+import org.apache.tuscany.idl.impl.OperationImpl;
+import org.apache.tuscany.idl.java.JavaInterface;
+import org.apache.tuscany.idl.java.impl.JavaInterfaceImpl;
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ComponentManager;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.Implementation;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
-import org.apache.tuscany.spi.model.ReferenceTarget;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.model.ServiceDefinition;
 import org.apache.tuscany.spi.wire.Interceptor;
 import org.apache.tuscany.spi.wire.InvocationChain;
 import org.apache.tuscany.spi.wire.Wire;
-
-import junit.framework.TestCase;
-import org.apache.tuscany.core.component.ComponentManagerImpl;
-import org.apache.tuscany.core.wire.InvokerInterceptor;
-import org.apache.tuscany.core.wire.NonBlockingInterceptor;
 import org.easymock.EasyMock;
 
 /**
@@ -55,33 +66,32 @@
     private TestConnector connector;
     private ComponentManager manager;
 
+    private static class TestImplementation extends ComponentTypeImpl implements Implementation {
+
+    }
+
     public void testConnectTargetNotFound() throws Exception {
-        Implementation<ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>> impl =
-            new Implementation<ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>>() {
-            };
-        ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
-            new ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
+        Implementation impl = new TestImplementation();
         URI refUri = URI.create("ref");
-        ReferenceDefinition referenceDefinition = new ReferenceDefinition(refUri, null);
-        referenceDefinition.setRequired(true);
-        type.add(referenceDefinition);
-        impl.setComponentType(type);
+        Reference referenceDefinition = new ReferenceImpl();
+        referenceDefinition.setName("ref");
+        referenceDefinition.setMultiplicity(Multiplicity.ONE_ONE);
+        impl.getReferences().add(referenceDefinition);
 
         URI sourceUri = URI.create("source");
-        ComponentDefinition<?> definition =
-            new ComponentDefinition<Implementation<ComponentType<ServiceDefinition,
-                ReferenceDefinition, Property<?>>>>(impl);
-        definition.setUri(sourceUri);
-        ReferenceTarget referenceTarget = new ReferenceTarget();
-        referenceTarget.setReferenceName(refUri);
-        referenceTarget.addTarget(URI.create("NotThere"));
-        definition.add(referenceTarget);
+        org.apache.tuscany.assembly.Component definition = new ComponentImpl();
+        definition.setImplementation(impl);
+        definition.setName("source");
+
+        ComponentReference referenceTarget = new ComponentReferenceImpl();
+        referenceTarget.setName("ref");
+        definition.getReferences().add(referenceTarget);
         Component component = EasyMock.createMock(Component.class);
         EasyMock.expect(component.getUri()).andReturn(sourceUri);
         EasyMock.replay(component);
         manager.register(component);
         try {
-            connector.connect(definition);
+            connector.connect(URI.create("/default"), definition);
             fail();
         } catch (ComponentNotFoundException e) {
             // expected
@@ -89,37 +99,34 @@
     }
 
     /**
-     * Verifies a non-existent target does not throw an error.
-     * <p/>
-     * TODO JFM when the allocator is in place it should optimize connecting to non-existent targets but keep it for
-     * now
+     * Verifies a non-existent target does not throw an error. <p/> TODO JFM
+     * when the allocator is in place it should optimize connecting to
+     * non-existent targets but keep it for now
      */
     public void testConnectTargetNotFoundNonRequiredReference() throws Exception {
-        Implementation<ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>> impl =
-            new Implementation<ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>>() {
-            };
-        ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
-            new ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
-        URI refUri = URI.create("ref");
-        ReferenceDefinition referenceDefinition = new ReferenceDefinition(refUri, null);
-        referenceDefinition.setRequired(false);
-        type.add(referenceDefinition);
-        impl.setComponentType(type);
+        TestImplementation impl = new TestImplementation();
+        Reference referenceDefinition = new ReferenceImpl();
+        referenceDefinition.setName("ref");
+        referenceDefinition.setMultiplicity(Multiplicity.ZERO_ONE);
+        impl.getReferences().add(referenceDefinition);
 
         URI sourceUri = URI.create("source");
-        ComponentDefinition<?> definition =
-            new ComponentDefinition<Implementation<ComponentType<ServiceDefinition,
-                ReferenceDefinition, Property<?>>>>(impl);
-        definition.setUri(sourceUri);
-        ReferenceTarget referenceTarget = new ReferenceTarget();
-        referenceTarget.setReferenceName(refUri);
-        referenceTarget.addTarget(URI.create("NotThere"));
-        definition.add(referenceTarget);
+        org.apache.tuscany.assembly.Component definition = new ComponentImpl();
+        definition.setImplementation(impl);
+
+        definition.setName("source");
+        ComponentReference referenceTarget = new ComponentReferenceImpl();
+        referenceTarget.setName("ref");
+        ComponentService service = new ComponentServiceImpl();
+
+        // FIXME: 
+        // referenceTarget.getTargets().add(URI.create("NotThere"));
+        definition.getReferences().add(referenceTarget);
         Component component = EasyMock.createMock(Component.class);
         EasyMock.expect(component.getUri()).andReturn(sourceUri);
         EasyMock.replay(component);
         manager.register(component);
-        connector.connect(definition);
+        connector.connect(URI.create("/default"), definition);
     }
 
     public void testNonOptimizableTargetComponent() throws Exception {
@@ -217,13 +224,11 @@
     }
 
     public void testCreateSyncForwardWire() throws Exception {
-        ServiceContract<Type> contract = new ServiceContract<Type>() {
-
-        };
-        Operation<Type> operation = new Operation<Type>("operation", null, null, null);
-        Map<String, Operation<Type>> operations = new HashMap<String, Operation<Type>>();
+        Contract contract = createContract();
+        Operation operation = new OperationImpl("operation");
+        Map<String, Operation> operations = new HashMap<String, Operation>();
         operations.put("operation", operation);
-        contract.setOperations(operations);
+        contract.getInterface().getOperations().addAll(operations.values());
         Wire wire = connector.createWire(URI.create("target"), URI.create("#ref"), contract, Wire.LOCAL_BINDING);
         assertEquals(1, wire.getInvocationChains().size());
         InvocationChain chain = wire.getInvocationChains().get(operation);
@@ -232,19 +237,17 @@
     }
 
     public void testCreateSyncCallbackWire() throws Exception {
-        ServiceContract<Type> contract = new ServiceContract<Type>() {
+        Contract contract = createContract();
 
-        };
-
-        Operation<Type> operation = new Operation<Type>("operation", null, null, null);
-        Map<String, Operation<Type>> operations = new HashMap<String, Operation<Type>>();
+        Operation operation = new OperationImpl("operation");
+        Map<String, Operation> operations = new HashMap<String, Operation>();
         operations.put("operation", operation);
-        contract.setOperations(operations);
+        contract.getInterface().getOperations().addAll(operations.values());
 
-        Operation<Type> callbackOperation = new Operation<Type>("operation", null, null, null);
-        Map<String, Operation<Type>> callbackOperations = new HashMap<String, Operation<Type>>();
+        Operation callbackOperation = new OperationImpl("operation");
+        Map<String, Operation> callbackOperations = new HashMap<String, Operation>();
         callbackOperations.put("operation", callbackOperation);
-        contract.setCallbackOperations(callbackOperations);
+        contract.getCallbackInterface().getOperations().addAll(callbackOperations.values());
 
         Wire wire = connector.createWire(URI.create("target"), URI.create("#ref"), contract, Wire.LOCAL_BINDING);
         assertEquals(1, wire.getCallbackInvocationChains().size());
@@ -254,14 +257,12 @@
     }
 
     public void testCreateNonBlockingForwardWire() throws Exception {
-        ServiceContract<Type> contract = new ServiceContract<Type>() {
-
-        };
-        Operation<Type> operation = new Operation<Type>("operation", null, null, null);
+        Contract contract = createContract();
+        Operation operation = new OperationImpl("operation");
         operation.setNonBlocking(true);
-        Map<String, Operation<Type>> operations = new HashMap<String, Operation<Type>>();
+        Map<String, Operation> operations = new HashMap<String, Operation>();
         operations.put("operation", operation);
-        contract.setOperations(operations);
+        contract.getInterface().getOperations().addAll(operations.values());
         Wire wire = connector.createWire(URI.create("target"), URI.create("#ref"), contract, Wire.LOCAL_BINDING);
         assertEquals(1, wire.getInvocationChains().size());
         InvocationChain chain = wire.getInvocationChains().get(operation);
@@ -271,21 +272,19 @@
     }
 
     public void testCreateNonBlockingCallbackWire() throws Exception {
-        ServiceContract<Type> contract = new ServiceContract<Type>() {
-
-        };
+        Contract contract = createContract();
 
-        Operation<Type> operation = new Operation<Type>("operation", null, null, null);
+        Operation operation = new OperationImpl("operation");
         operation.setNonBlocking(true);
-        Map<String, Operation<Type>> operations = new HashMap<String, Operation<Type>>();
+        Map<String, Operation> operations = new HashMap<String, Operation>();
         operations.put("operation", operation);
-        contract.setOperations(operations);
+        contract.getInterface().getOperations().addAll(operations.values());
 
-        Operation<Type> callbackOperation = new Operation<Type>("operation", null, null, null);
+        Operation callbackOperation = new OperationImpl("operation");
         callbackOperation.setNonBlocking(true);
-        Map<String, Operation<Type>> callbackOperations = new HashMap<String, Operation<Type>>();
+        Map<String, Operation> callbackOperations = new HashMap<String, Operation>();
         callbackOperations.put("operation", callbackOperation);
-        contract.setCallbackOperations(callbackOperations);
+        contract.getCallbackInterface().getOperations().addAll(callbackOperations.values());
 
         Wire wire = connector.createWire(URI.create("target"), URI.create("#ref"), contract, Wire.LOCAL_BINDING);
         assertEquals(1, wire.getCallbackInvocationChains().size());
@@ -301,13 +300,22 @@
         connector = new TestConnector(manager);
     }
 
+    private Contract createContract() {
+        AssemblyFactory factory = new DefaultAssemblyFactory();
+        ComponentService service = factory.createComponentService();
+        JavaInterface javaInterface = new JavaInterfaceImpl();
+        javaInterface.setJavaClass(Object.class);
+        service.setInterface(javaInterface);
+        return service;
+    }
+
     private class TestConnector extends ConnectorImpl {
 
         public TestConnector(ComponentManager componentManager) {
             super(componentManager);
         }
 
-        protected Wire createWire(URI sourceURI, URI targetUri, ServiceContract<?> contract, QName bindingType) {
+        protected Wire createWire(URI sourceURI, URI targetUri, Contract contract, QName bindingType) {
             return super.createWire(sourceURI, targetUri, contract, bindingType);
         }
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/JavaObjectRegistrationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/JavaObjectRegistrationTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/JavaObjectRegistrationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/JavaObjectRegistrationTestCase.java Wed Apr  4 23:08:37 2007
@@ -20,25 +20,38 @@
 
 import java.net.URI;
 
+import junit.framework.TestCase;
+
+import org.apache.tuscany.assembly.AssemblyFactory;
+import org.apache.tuscany.assembly.ComponentService;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.idl.java.JavaInterface;
+import org.apache.tuscany.idl.java.impl.DefaultJavaFactory;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ComponentManager;
 import org.apache.tuscany.spi.component.DuplicateNameException;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-
-import junit.framework.TestCase;
 
 /**
  * @version $Rev$ $Date$
  */
 public class JavaObjectRegistrationTestCase extends TestCase {
     private ComponentManager componentManager;
-
+    
+    private <S> ComponentService createContract(Class<S> type) {
+        AssemblyFactory factory = new DefaultAssemblyFactory();
+        ComponentService contract = factory.createComponentService();
+        JavaInterface javaInterface = new DefaultJavaFactory().createJavaInterface();
+        javaInterface.setJavaClass(type);
+        contract.setInterface(javaInterface);
+        return contract;
+    }
+    
     public void testRegistration() throws Exception {
         MockComponent instance = new MockComponent();
         URI uri = URI.create("foo");
-        JavaServiceContract<MockComponent> contract = new JavaServiceContract<MockComponent>(MockComponent.class) {
-        };
+        
+        ComponentService contract = createContract(MockComponent.class);
         componentManager.registerJavaObject(uri, contract, instance);
         Component component = componentManager.getComponent(URI.create("foo"));
         assertTrue(component instanceof AtomicComponent);
@@ -49,8 +62,7 @@
     public void testDuplicateRegistration() throws Exception {
         MockComponent instance = new MockComponent();
         URI uri = URI.create("foo");
-        JavaServiceContract<MockComponent> contract = new JavaServiceContract<MockComponent>(MockComponent.class) {
-        };
+        ComponentService contract = createContract(MockComponent.class);
         componentManager.registerJavaObject(uri, contract, instance);
         try {
             componentManager.registerJavaObject(uri, contract, instance);

Copied: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SingletonAtomicComponentTestCase.java (from r525597, incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponentTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SingletonAtomicComponentTestCase.java?view=diff&rev=525717&p1=incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponentTestCase.java&r1=525597&p2=incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SingletonAtomicComponentTestCase.java&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponentTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SingletonAtomicComponentTestCase.java Wed Apr  4 23:08:37 2007
@@ -22,47 +22,53 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-
 import junit.framework.TestCase;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
+import org.apache.tuscany.assembly.ComponentService;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.idl.java.JavaInterface;
+import org.apache.tuscany.idl.java.impl.DefaultJavaFactory;
+import org.apache.tuscany.spi.component.TargetException;
+
 /**
  * @version $Rev$ $Date$
  */
-public class SystemSingletonAtomicComponentTestCase extends TestCase {
+public class SingletonAtomicComponentTestCase extends TestCase {
+    private <S> ComponentService createContract(Class<S> type) {
+        AssemblyFactory factory = new DefaultAssemblyFactory();
+        ComponentService contract = factory.createComponentService();
+        JavaInterface javaInterface = new DefaultJavaFactory().createJavaInterface();
+        javaInterface.setJavaClass(type);
+        contract.setInterface(javaInterface);
+        return contract;
+    }
 
     public void testGetInstance() throws TargetException {
-        JavaServiceContract<Foo> contract = new JavaServiceContract<Foo>(Foo.class) {
-
-        };
+        ComponentService contract = createContract(Foo.class);
         FooImpl foo = new FooImpl();
-        SystemSingletonAtomicComponent<Foo, FooImpl> component =
-            new SystemSingletonAtomicComponent<Foo, FooImpl>(URI.create("foo"), contract, foo);
+        SingletonAtomicComponent<Foo> component = new SingletonAtomicComponent<Foo>(URI.create("foo"), contract, foo);
         assertEquals(foo, component.getTargetInstance());
     }
 
     public void testGetInstanceMultipleServices() throws TargetException {
         FooImpl foo = new FooImpl();
-        List<JavaServiceContract<?>> services = new ArrayList<JavaServiceContract<?>>();
-        services.add(new JavaServiceContract<Foo>(Foo.class) {
-        });
-        services.add(new JavaServiceContract<Bar>(Bar.class) {
-        });
-        SystemSingletonAtomicComponent<Foo, FooImpl> component =
-            new SystemSingletonAtomicComponent<Foo, FooImpl>(URI.create("foo"), services, foo);
+        ComponentService contract1 = createContract(Foo.class);
+        ComponentService contract2 = createContract(Bar.class);
+
+        List<ComponentService> services = new ArrayList<ComponentService>();
+        services.add(contract1);
+        services.add(contract2);
+        SingletonAtomicComponent<Foo> component = new SingletonAtomicComponent<Foo>(URI.create("foo"), services, foo);
         assertEquals(foo, component.getTargetInstance());
     }
 
     public void testOptimizable() {
-        JavaServiceContract<Foo> contract = new JavaServiceContract<Foo>(Foo.class) {
-        };
+        ComponentService contract = createContract(Foo.class);
         FooImpl foo = new FooImpl();
-        SystemSingletonAtomicComponent<Foo, FooImpl> component =
-            new SystemSingletonAtomicComponent<Foo, FooImpl>(URI.create("foo"), contract, foo);
+        SingletonAtomicComponent<Foo> component = new SingletonAtomicComponent<Foo>(URI.create("foo"), contract, foo);
         assertTrue(component.isOptimizable());
     }
-
 
     protected void setUp() throws Exception {
         super.setUp();

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java Wed Apr  4 23:08:37 2007
@@ -21,14 +21,14 @@
 import java.net.URI;
 
 import junit.framework.TestCase;
-import org.easymock.EasyMock;
-import org.easymock.IMocksControl;
 
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.InstanceWrapper;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.TargetResolutionException;
-import org.apache.tuscany.spi.model.Scope;
+import org.easymock.EasyMock;
+import org.easymock.IMocksControl;
 
 /**
  * @version $$Rev$$ $$Date$$

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java Wed Apr  4 23:08:37 2007
@@ -19,12 +19,12 @@
 package org.apache.tuscany.core.component.scope;
 
 import junit.framework.TestCase;
-import org.easymock.EasyMock;
-import org.easymock.IMocksControl;
 
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.InstanceWrapper;
-import org.apache.tuscany.spi.model.Scope;
+import org.easymock.EasyMock;
+import org.easymock.IMocksControl;
 
 /**
  * Unit tests for the composite scope container

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java Wed Apr  4 23:08:37 2007
@@ -21,13 +21,13 @@
 import junit.framework.TestCase;
 
 import org.apache.tuscany.core.component.SimpleWorkContext;
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.InstanceWrapper;
 import org.apache.tuscany.spi.component.SCAObject;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.WorkContext;
 import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.services.store.Store;
 import org.easymock.EasyMock;
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java Wed Apr  4 23:08:37 2007
@@ -21,13 +21,13 @@
 import junit.framework.TestCase;
 
 import org.apache.tuscany.core.component.SimpleWorkContext;
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.InstanceWrapper;
 import org.apache.tuscany.spi.component.SCAObject;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.WorkContext;
 import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.services.store.Store;
 import org.easymock.EasyMock;
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java Wed Apr  4 23:08:37 2007
@@ -22,8 +22,8 @@
 
 import org.apache.tuscany.core.component.SimpleWorkContext;
 import org.apache.tuscany.core.services.store.memory.MemoryStore;
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.services.store.Store;
 import org.apache.tuscany.spi.services.store.StoreMonitor;
 import org.easymock.EasyMock;

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java Wed Apr  4 23:08:37 2007
@@ -18,22 +18,23 @@
  */
 package org.apache.tuscany.core.implementation.composite;
 
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.replay;
+
 import java.net.URI;
 
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.Reference;
 import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.event.Event;
 import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.model.Scope;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
 import org.easymock.EasyMock;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.replay;
 
 /**
  * @version $Rev$ $Date$

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/DefaultExceptionFormatterTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/DefaultExceptionFormatterTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/DefaultExceptionFormatterTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/DefaultExceptionFormatterTestCase.java Wed Apr  4 23:08:37 2007
@@ -22,8 +22,9 @@
 import java.io.StringWriter;
 
 import junit.framework.TestCase;
-import org.apache.tuscany.api.TuscanyException;
-import org.apache.tuscany.api.TuscanyRuntimeException;
+
+import org.apache.tuscany.spi.TuscanyException;
+import org.apache.tuscany.spi.TuscanyRuntimeException;
 
 /**
  * @version $Rev$ $Date$

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/JavaLoggingTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/JavaLoggingTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/JavaLoggingTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/JavaLoggingTestCase.java Wed Apr  4 23:08:37 2007
@@ -26,10 +26,10 @@
 import java.util.logging.LogRecord;
 import java.util.logging.Logger;
 
-import org.apache.tuscany.api.annotation.LogLevel;
-import org.apache.tuscany.host.MonitorFactory;
-
 import junit.framework.TestCase;
+
+import org.apache.tuscany.host.MonitorFactory;
+import org.apache.tuscany.spi.LogLevel;
 
 /**
  * Test case for the JavaLoggingMonitorFactory.

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java Wed Apr  4 23:08:37 2007
@@ -19,59 +19,73 @@
 package org.apache.tuscany.core.resolver;
 
 import java.net.URI;
-
-import org.apache.tuscany.spi.model.AtomicImplementation;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.CompositeComponentType;
-import org.apache.tuscany.spi.model.CompositeImplementation;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
-import org.apache.tuscany.spi.model.ReferenceTarget;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.model.ServiceDefinition;
+import java.util.List;
 
 import junit.framework.TestCase;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
+import org.apache.tuscany.assembly.Component;
+import org.apache.tuscany.assembly.ComponentReference;
+import org.apache.tuscany.assembly.ComponentService;
+import org.apache.tuscany.assembly.Composite;
+import org.apache.tuscany.assembly.Implementation;
+import org.apache.tuscany.assembly.Multiplicity;
+import org.apache.tuscany.assembly.Reference;
+import org.apache.tuscany.assembly.impl.ComponentTypeImpl;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.core.wire.IDLMappingService;
+import org.apache.tuscany.idl.java.JavaInterface;
+import org.apache.tuscany.idl.java.impl.JavaInterfaceImpl;
+
 /**
  * @version $Rev$ $Date$
  */
 public class DefaultAutowireResolverTestCase extends TestCase {
     private static final URI REFERENCE_URI = URI.create("source#ref");
     private static final URI TARGET_URI = URI.create("target#service");
+    private AssemblyFactory factory;
     private DefaultAutowireResolver resolver;
 
+    private <T extends Reference> T getReference(List<T> refs, String name) {
+        for (T ref : refs) {
+            if (ref.getName().equals(name)) {
+                return ref;
+            }
+        }
+        return null;
+    }
+
     public void testAutowireAtomicToAtomic() throws Exception {
-        ComponentDefinition<CompositeImplementation> composite = createComposite("composite");
-        CompositeComponentType<?, ?, ?> type = composite.getImplementation().getComponentType();
-        ComponentDefinition<MockAtomicImpl> source = createSourceAtomic(Foo.class);
-        type.add(source);
-        ComponentDefinition<MockAtomicImpl> target = createTargetAtomic(Foo.class);
-        type.add(target);
+        Component composite = createComposite("composite");
+        Composite type = (Composite)composite.getImplementation();
+        Component source = createSourceAtomic(Foo.class);
+        type.getComponents().add(source);
+        Component target = createTargetAtomic(Foo.class);
+        type.getComponents().add(target);
         resolver.resolve(null, composite);
-        ReferenceTarget refTarget = source.getReferenceTargets().get(REFERENCE_URI.getFragment());
-        assertEquals(TARGET_URI, refTarget.getTargets().get(0));
+        Reference refTarget = getReference(source.getReferences(), "ref");
+        assertEquals("service", refTarget.getTargets().get(0).getName());
     }
 
     public void testAutowireAtomicToAtomicRequiresSuperInterface() throws Exception {
-        ComponentDefinition<CompositeImplementation> composite = createComposite("composite");
-        CompositeComponentType<?, ?, ?> type = composite.getImplementation().getComponentType();
-        ComponentDefinition<MockAtomicImpl> source = createSourceAtomic(SuperFoo.class);
-        type.add(source);
-        ComponentDefinition<MockAtomicImpl> target = createTargetAtomic(Foo.class);
-        type.add(target);
+        Component composite = createComposite("composite");
+        Composite type = (Composite)composite.getImplementation();
+        Component source = createSourceAtomic(SuperFoo.class);
+        type.getComponents().add(source);
+        Component target = createTargetAtomic(Foo.class);
+        type.getComponents().add(target);
         resolver.resolve(null, composite);
-        ReferenceTarget refTarget = source.getReferenceTargets().get(REFERENCE_URI.getFragment());
-        assertEquals(TARGET_URI, refTarget.getTargets().get(0));
+        Reference refTarget = getReference(source.getReferences(), "ref");
+        assertEquals("service", refTarget.getTargets().get(0).getName());
     }
 
     public void testAutowireAtomicToAtomicRequiresSubInterface() throws Exception {
-        ComponentDefinition<CompositeImplementation> composite = createComposite("composite");
-        CompositeComponentType<?, ?, ?> type = composite.getImplementation().getComponentType();
-        ComponentDefinition<MockAtomicImpl> source = createSourceAtomic(Foo.class);
-        type.add(source);
-        ComponentDefinition<MockAtomicImpl> target = createTargetAtomic(SuperFoo.class);
-        type.add(target);
+        Component composite = createComposite("composite");
+        Composite type = (Composite)composite.getImplementation();
+        Component source = createSourceAtomic(Foo.class);
+        type.getComponents().add(source);
+        Component target = createTargetAtomic(SuperFoo.class);
+        type.getComponents().add(target);
         try {
             resolver.resolve(null, composite);
             fail();
@@ -81,12 +95,12 @@
     }
 
     public void testAutowireAtomicToAtomicIncompatibleInterfaces() throws Exception {
-        ComponentDefinition<CompositeImplementation> composite = createComposite("composite");
-        CompositeComponentType<?, ?, ?> type = composite.getImplementation().getComponentType();
-        ComponentDefinition<MockAtomicImpl> source = createSourceAtomic(Foo.class);
-        type.add(source);
-        ComponentDefinition<MockAtomicImpl> target = createTargetAtomic(String.class);
-        type.add(target);
+        Component composite = createComposite("composite");
+        Composite type = (Composite)composite.getImplementation();
+        Component source = createSourceAtomic(Foo.class);
+        type.getComponents().add(source);
+        Component target = createTargetAtomic(String.class);
+        type.getComponents().add(target);
         try {
             resolver.resolve(null, composite);
             fail();
@@ -96,73 +110,80 @@
     }
 
     public void testNestedAutowireAtomicToAtomic() throws Exception {
-        ComponentDefinition<CompositeImplementation> composite = createComposite("composite");
-        CompositeComponentType<?, ?, ?> type = composite.getImplementation().getComponentType();
-        ComponentDefinition<MockAtomicImpl> source = createSourceAtomic(Foo.class);
-        type.add(source);
-        ComponentDefinition<MockAtomicImpl> target = createTargetAtomic(Foo.class);
-        type.add(target);
-        ComponentDefinition<CompositeImplementation> parent = createComposite("parent");
-        parent.getImplementation().getComponentType().add(composite);
+        Component composite = createComposite("composite");
+        Composite type = (Composite)composite.getImplementation();
+        Component source = createSourceAtomic(Foo.class);
+        type.getComponents().add(source);
+        Component target = createTargetAtomic(Foo.class);
+        type.getComponents().add(target);
+        Component parent = createComposite("parent");
+        ((Composite)parent.getImplementation()).getComponents().add(composite);
         resolver.resolve(null, parent);
-        ReferenceTarget refTarget = source.getReferenceTargets().get(REFERENCE_URI.getFragment());
-        assertEquals(TARGET_URI, refTarget.getTargets().get(0));
+        Reference refTarget = getReference(source.getReferences(), "ref");
+        assertEquals("service", refTarget.getTargets().get(0).getName());
     }
 
-
     protected void setUp() throws Exception {
         super.setUp();
-        resolver = new DefaultAutowireResolver();
+        resolver = new DefaultAutowireResolver(new IDLMappingService());
+        factory = new DefaultAssemblyFactory();
+    }
+
+    private Component createComposite(String uri) {
+        Composite type = factory.createComposite();
+        Component component = factory.createComponent();
+        component.setImplementation(type);
+        component.setName(uri);
+        return component;
     }
 
-    private ComponentDefinition<CompositeImplementation> createComposite(String uri) {
-        URI parentUri = URI.create(uri);
-        CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
-            new CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
-        CompositeImplementation impl = new CompositeImplementation();
-        impl.setComponentType(type);
-        return new ComponentDefinition<CompositeImplementation>(parentUri, impl);
-    }
-
-    private ComponentDefinition<MockAtomicImpl> createSourceAtomic(Class<?> requiredInterface) {
-        URI uri = URI.create("source");
-        ServiceContract contract = new ServiceContract() {
-        };
-        contract.setInterfaceClass(requiredInterface);
-        ReferenceDefinition reference = new ReferenceDefinition(URI.create("#ref"), contract);
-        reference.setRequired(true);
-        MockComponentType type = new MockComponentType();
-        type.add(reference);
+    private Component createSourceAtomic(Class<?> requiredInterface) {
+        ComponentReference reference = factory.createComponentReference();
+        reference.setName("ref");
+
+        ComponentService service = factory.createComponentService();
+        service.setName("service");
+
+        JavaInterface javaInterface = new JavaInterfaceImpl();
+        javaInterface.setJavaClass(requiredInterface);
+        service.setInterface(javaInterface);
+
+        reference.setInterface(javaInterface);
+        reference.setMultiplicity(Multiplicity.ONE_ONE);
+
         MockAtomicImpl impl = new MockAtomicImpl();
-        impl.setComponentType(type);
-        ComponentDefinition<MockAtomicImpl> definition = new ComponentDefinition<MockAtomicImpl>(uri, impl);
-        ReferenceTarget target = new ReferenceTarget();
-        target.setReferenceName(REFERENCE_URI);
+        Component definition = factory.createComponent();
+        definition.setImplementation(impl);
+        definition.setName("source");
+        definition.getReferences().add(reference);
+        definition.getServices().add(service);
+
+        Reference target = factory.createReference();
+        target.setName("ref");
         target.setAutowire(true);
-        definition.add(target);
+        impl.getReferences().add(target);
+
         return definition;
     }
 
-    private ComponentDefinition<MockAtomicImpl> createTargetAtomic(Class<?> serviceInterface) {
+    private Component createTargetAtomic(Class<?> serviceInterface) {
         URI uri = URI.create("target");
-        ServiceDefinition service = new ServiceDefinition();
-        service.setUri(URI.create("#service"));
-        ServiceContract contract = new ServiceContract() {
-        };
-        contract.setInterfaceClass(serviceInterface);
-        service.setServiceContract(contract);
-        MockComponentType type = new MockComponentType();
-        type.add(service);
-        MockAtomicImpl impl = new MockAtomicImpl();
-        impl.setComponentType(type);
-        return new ComponentDefinition<MockAtomicImpl>(uri, impl);
-    }
+        ComponentService service = factory.createComponentService();
+        service.setName("service");
 
-    private class MockAtomicImpl extends AtomicImplementation<MockComponentType> {
+        JavaInterface javaInterface = new JavaInterfaceImpl();
+        javaInterface.setJavaClass(serviceInterface);
+        service.setInterface(javaInterface);
 
+        MockAtomicImpl impl = new MockAtomicImpl();
+        impl.getServices().add(service);
+        Component component = factory.createComponent();
+        component.setName("target");
+        component.setImplementation(impl);
+        return component;
     }
 
-    private class MockComponentType extends ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> {
+    private class MockAtomicImpl extends ComponentTypeImpl implements Implementation {
 
     }
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java Wed Apr  4 23:08:37 2007
@@ -25,121 +25,124 @@
 import java.util.List;
 import java.util.Map;
 
+import junit.framework.TestCase;
+
+import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.assembly.impl.ComponentServiceImpl;
+import org.apache.tuscany.idl.DataType;
+import org.apache.tuscany.idl.Operation;
+import org.apache.tuscany.idl.impl.DataTypeImpl;
+import org.apache.tuscany.idl.impl.OperationImpl;
+import org.apache.tuscany.idl.java.JavaInterface;
+import org.apache.tuscany.idl.java.impl.JavaInterfaceImpl;
 import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.component.ReferenceBinding;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.tuscany.spi.model.Operation;
-import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
-import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.wire.ChainHolder;
 import org.apache.tuscany.spi.wire.IncompatibleServiceContractException;
+import org.apache.tuscany.spi.wire.InvocationChain;
 import org.apache.tuscany.spi.wire.ProxyCreationException;
-import org.apache.tuscany.spi.wire.Wire;
 import org.apache.tuscany.spi.wire.ProxyService;
-import org.apache.tuscany.spi.wire.InvocationChain;
-
-import junit.framework.TestCase;
+import org.apache.tuscany.spi.wire.Wire;
 import org.osoa.sca.CallableReference;
 
 /**
  * TODO some tests commented out due to DataType.equals() needing to be strict
- *
+ * 
  * @version $Rev$ $Date$
  */
 public class ContractCompatibilityTestCase extends TestCase {
-
+    private static final Operation.ConversationSequence NO_CONVERSATION = Operation.ConversationSequence.NO_CONVERSATION;
     private ProxyService proxyService = new MockProxyService();
 
     public void testNoOperation() throws Exception {
-        ServiceContract source = new MockContract<Type>("FooContract");
-        ServiceContract target = new MockContract<Type>("FooContract");
+        Contract source = new MockContract("FooContract");
+        Contract target = new MockContract("FooContract");
         proxyService.checkCompatibility(source, target, false, false);
     }
 
     public void testBasic() throws Exception {
-        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-        Operation<Type> opSource1 = new Operation<Type>("op1", null, null, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
+        Contract source = new MockContract("FooContract");
+        Operation opSource1 = new OperationImpl("op1");
+        Map<String, Operation> sourceOperations = new HashMap<String, Operation>();
         sourceOperations.put("op1", opSource1);
-        source.setOperations(sourceOperations);
-        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-        Operation<Type> opSource2 = new Operation<Type>("op1", null, null, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
+        source.getInterface().getOperations().addAll(sourceOperations.values());
+        Contract target = new MockContract("FooContract");
+        Operation opSource2 = new OperationImpl("op1");
+        Map<String, Operation> targetOperations = new HashMap<String, Operation>();
         targetOperations.put("op1", opSource2);
-        target.setOperations(targetOperations);
+        target.getInterface().getOperations().addAll(targetOperations.values());
         proxyService.checkCompatibility(source, target, false, false);
     }
 
     public void testBasicIncompatibleOperationNames() throws Exception {
-        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-        Operation<Type> opSource1 = new Operation<Type>("op1", null, null, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
+        Contract source = new MockContract("FooContract");
+        Operation opSource1 = new OperationImpl("op1");
+        Map<String, Operation> sourceOperations = new HashMap<String, Operation>();
         sourceOperations.put("op1", opSource1);
-        source.setOperations(sourceOperations);
-        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-        Operation<Type> opSource2 = new Operation<Type>("op2", null, null, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
+        source.getInterface().getOperations().addAll(sourceOperations.values());
+        Contract target = new MockContract("FooContract");
+        Operation opSource2 = new OperationImpl("op2");
+        Map<String, Operation> targetOperations = new HashMap<String, Operation>();
         targetOperations.put("op2", opSource2);
-        target.setOperations(targetOperations);
+        target.getInterface().getOperations().addAll(targetOperations.values());
         try {
             proxyService.checkCompatibility(source, target, false, false);
             fail();
         } catch (IncompatibleServiceContractException e) {
-            //expected
+            // expected
         }
     }
 
     public void testInputTypes() throws Exception {
-        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-        List<DataType<Type>> sourceInputTypes = new ArrayList<DataType<Type>>();
-        sourceInputTypes.add(new DataType<Type>(Object.class, Object.class));
-        DataType<List<DataType<Type>>> inputType = new DataType<List<DataType<Type>>>(String.class, sourceInputTypes);
-        Operation<Type> opSource1 = new Operation<Type>("op1", inputType, null, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
+        Contract source = new MockContract("FooContract");
+        List<DataType> sourceInputTypes = new ArrayList<DataType>();
+        sourceInputTypes.add(new DataTypeImpl<Type>(Object.class, Object.class));
+        DataType<List<DataType>> inputType = new DataTypeImpl<List<DataType>>(String.class, sourceInputTypes);
+        Operation opSource1 = new OperationImpl("op1");
+        opSource1.setInputType(inputType);
+        Map<String, Operation> sourceOperations = new HashMap<String, Operation>();
         sourceOperations.put("op1", opSource1);
-        source.setOperations(sourceOperations);
+        source.getInterface().getOperations().addAll(sourceOperations.values());
 
-        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-        List<DataType<Type>> targetInputTypes = new ArrayList<DataType<Type>>();
-        targetInputTypes.add(new DataType<Type>(Object.class, Object.class));
-        DataType<List<DataType<Type>>> targetInputType =
-            new DataType<List<DataType<Type>>>(String.class, targetInputTypes);
-
-        Operation<Type> opTarget =
-            new Operation<Type>("op1", targetInputType, null, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
+        Contract target = new MockContract("FooContract");
+        List<DataType> targetInputTypes = new ArrayList<DataType>();
+        targetInputTypes.add(new DataTypeImpl<Type>(Object.class, Object.class));
+        DataType<List<DataType>> targetInputType = new DataTypeImpl<List<DataType>>(String.class, targetInputTypes);
+
+        Operation opTarget = new OperationImpl("op1");
+        opTarget.setInputType(targetInputType);
+        Map<String, Operation> targetOperations = new HashMap<String, Operation>();
         targetOperations.put("op1", opTarget);
-        target.setOperations(targetOperations);
+        target.getInterface().getOperations().addAll(targetOperations.values());
         proxyService.checkCompatibility(source, target, false, false);
     }
 
-
     public void testIncompatibleInputTypes() throws Exception {
-        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-        List<DataType<Type>> sourceInputTypes = new ArrayList<DataType<Type>>();
-        sourceInputTypes.add(new DataType<Type>(Integer.class, Integer.class));
-        DataType<List<DataType<Type>>> inputType = new DataType<List<DataType<Type>>>(String.class, sourceInputTypes);
-        Operation<Type> opSource1 = new Operation<Type>("op1", inputType, null, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
+        Contract source = new MockContract("FooContract");
+        List<DataType> sourceInputTypes = new ArrayList<DataType>();
+        sourceInputTypes.add(new DataTypeImpl<Type>(Integer.class, Integer.class));
+        DataType<List<DataType>> inputType = new DataTypeImpl<List<DataType>>(String.class, sourceInputTypes);
+        Operation opSource1 = new OperationImpl("op1");
+        opSource1.setInputType(inputType);
+        Map<String, Operation> sourceOperations = new HashMap<String, Operation>();
         sourceOperations.put("op1", opSource1);
-        source.setOperations(sourceOperations);
+        source.getInterface().getOperations().addAll(sourceOperations.values());
 
-        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-        List<DataType<Type>> targetInputTypes = new ArrayList<DataType<Type>>();
-        targetInputTypes.add(new DataType<Type>(String.class, String.class));
-        DataType<List<DataType<Type>>> targetInputType =
-            new DataType<List<DataType<Type>>>(String.class, targetInputTypes);
-
-        Operation<Type> opTarget =
-            new Operation<Type>("op1", targetInputType, null, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
+        Contract target = new MockContract("FooContract");
+        List<DataType> targetInputTypes = new ArrayList<DataType>();
+        targetInputTypes.add(new DataTypeImpl<Type>(String.class, String.class));
+        DataType<List<DataType>> targetInputType = new DataTypeImpl<List<DataType>>(String.class, targetInputTypes);
+
+        Operation opTarget = new OperationImpl("op1");
+        opTarget.setInputType(targetInputType);
+        Map<String, Operation> targetOperations = new HashMap<String, Operation>();
         targetOperations.put("op1", opTarget);
-        target.setOperations(targetOperations);
+        target.getInterface().getOperations().addAll(targetOperations.values());
         try {
             proxyService.checkCompatibility(source, target, false, false);
             fail();
         } catch (IncompatibleServiceContractException e) {
-            //expected
+            // expected
         }
     }
 
@@ -147,44 +150,51 @@
      * Verfies source input types can be super types of the target
      */
     public void testSourceSuperTypeInputCompatibility() throws Exception {
-//        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-//        List<DataType<Type>> sourceInputTypes = new ArrayList<DataType<Type>>();
-//        sourceInputTypes.add(new DataType<Type>(Object.class, Object.class));
-//        DataType<List<DataType<Type>>> inputType = new DataType<List<DataType<Type>>>(String.class, sourceInputTypes);
-//        Operation<Type> opSource1 = new Operation<Type>("op1", inputType, null, null, false, null);
-//        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
-//        sourceOperations.put("op1", opSource1);
-//        source.setOperations(sourceOperations);
-//
-//        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-//        List<DataType<Type>> targetInputTypes = new ArrayList<DataType<Type>>();
-//        targetInputTypes.add(new DataType<Type>(String.class, String.class));
-//        DataType<List<DataType<Type>>> targetInputType =
-//            new DataType<List<DataType<Type>>>(String.class, targetInputTypes);
-//
-//        Operation<Type> opTarget = new Operation<Type>("op1", targetInputType, null, null, false, null);
-//        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
-//        targetOperations.put("op1", opTarget);
-//        target.setOperations(targetOperations);
-//        wireService.checkCompatibility(source, target, false);
+        // Contract source = new MockContract("FooContract");
+        // List<DataType> sourceInputTypes = new ArrayList<DataType>();
+        // sourceInputTypes.add(new DataTypeImpl<Type>(Object.class,
+        // Object.class));
+        // DataType<List<DataType>> inputType = new
+        // DataTypeImpl<List<DataType>>(String.class, sourceInputTypes);
+        // Operation opSource1 = new OperationImpl("op1", inputType, null, null,
+        // false, null);
+        // Map<String, Operation> sourceOperations = new HashMap<String,
+        // Operation>();
+        // sourceOperations.put("op1", opSource1);
+        // source.getInterface().getOperations().addAll(sourceOperations.values());
+        //
+        // Contract target = new MockContract("FooContract");
+        // List<DataType> targetInputTypes = new ArrayList<DataType>();
+        // targetInputTypes.add(new DataTypeImpl<Type>(String.class,
+        // String.class));
+        // DataType<List<DataType>> targetInputType =
+        // new DataTypeImpl<List<DataType>>(String.class, targetInputTypes);
+        //
+        // Operation opTarget = new OperationImpl("op1", targetInputType, null,
+        // null, false, null);
+        // Map<String, Operation> targetOperations = new HashMap<String,
+        // Operation>();
+        // targetOperations.put("op1", opTarget);
+        // target.getInterface().getOperations().addAll(targetOperations.values());
+        // wireService.checkCompatibility(source, target, false);
     }
 
     public void testOutputTypes() throws Exception {
-        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-        DataType<Type> sourceOutputType = new DataType<Type>(String.class, String.class);
-        Operation<Type> opSource1 =
-            new Operation<Type>("op1", null, sourceOutputType, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
+        Contract source = new MockContract("FooContract");
+        DataType sourceOutputType = new DataTypeImpl<Type>(String.class, String.class);
+        Operation opSource1 = new OperationImpl("op1");
+        opSource1.setOutputType(sourceOutputType);
+        Map<String, Operation> sourceOperations = new HashMap<String, Operation>();
         sourceOperations.put("op1", opSource1);
-        source.setOperations(sourceOperations);
+        source.getInterface().getOperations().addAll(sourceOperations.values());
 
-        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-        DataType<Type> targetOutputType = new DataType<Type>(String.class, String.class);
-        Operation<Type> opTarget =
-            new Operation<Type>("op1", null, targetOutputType, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
+        Contract target = new MockContract("FooContract");
+        DataType targetOutputType = new DataTypeImpl<Type>(String.class, String.class);
+        Operation opTarget = new OperationImpl("op1");
+        opTarget.setOutputType(targetOutputType);
+        Map<String, Operation> targetOperations = new HashMap<String, Operation>();
         targetOperations.put("op1", opTarget);
-        target.setOperations(targetOperations);
+        target.getInterface().getOperations().addAll(targetOperations.values());
         proxyService.checkCompatibility(source, target, false, false);
     }
 
@@ -192,153 +202,179 @@
      * Verfies a return type that is a supertype of of the target is compatible
      */
     public void testSupertypeOutputTypes() throws Exception {
-//        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-//        DataType<Type> sourceOutputType = new DataType<Type>(Object.class, Object.class);
-//        Operation<Type> opSource1 = new Operation<Type>("op1", null, sourceOutputType, null, false, null);
-//        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
-//        sourceOperations.put("op1", opSource1);
-//        source.setOperations(sourceOperations);
-//
-//        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-//        DataType<Type> targetOutputType = new DataType<Type>(String.class, String.class);
-//        Operation<Type> opTarget = new Operation<Type>("op1", null, targetOutputType, null, false, null);
-//        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
-//        targetOperations.put("op1", opTarget);
-//        target.setOperations(targetOperations);
-//        wireService.checkCompatibility(source, target, false);
+        // Contract source = new MockContract("FooContract");
+        // DataType sourceOutputType = new DataTypeImpl<Type>(Object.class,
+        // Object.class);
+        // Operation opSource1 = new OperationImpl("op1", null,
+        // sourceOutputType, null, false, null);
+        // Map<String, Operation> sourceOperations = new HashMap<String,
+        // Operation>();
+        // sourceOperations.put("op1", opSource1);
+        // source.getInterface().getOperations().addAll(sourceOperations.values());
+        //
+        // Contract target = new MockContract("FooContract");
+        // DataType targetOutputType = new DataTypeImpl<Type>(String.class,
+        // String.class);
+        // Operation opTarget = new OperationImpl("op1", null, targetOutputType,
+        // null, false, null);
+        // Map<String, Operation> targetOperations = new HashMap<String,
+        // Operation>();
+        // targetOperations.put("op1", opTarget);
+        // target.getInterface().getOperations().addAll(targetOperations.values());
+        // wireService.checkCompatibility(source, target, false);
     }
 
     public void testIncompatibleOutputTypes() throws Exception {
-        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-        DataType<Type> sourceOutputType = new DataType<Type>(String.class, String.class);
-        Operation<Type> opSource1 =
-            new Operation<Type>("op1", null, sourceOutputType, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
+        Contract source = new MockContract("FooContract");
+        DataType sourceOutputType = new DataTypeImpl<Type>(String.class, String.class);
+        Operation opSource1 = new OperationImpl("op1");
+        opSource1.setOutputType(sourceOutputType);
+        Map<String, Operation> sourceOperations = new HashMap<String, Operation>();
         sourceOperations.put("op1", opSource1);
-        source.setOperations(sourceOperations);
+        source.getInterface().getOperations().addAll(sourceOperations.values());
 
-        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-        DataType<Type> targetOutputType = new DataType<Type>(Integer.class, Integer.class);
-        Operation<Type> opTarget =
-            new Operation<Type>("op1", null, targetOutputType, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
+        Contract target = new MockContract("FooContract");
+        DataType targetOutputType = new DataTypeImpl<Type>(Integer.class, Integer.class);
+        Operation opTarget = new OperationImpl("op1");
+        opTarget.setOutputType(targetOutputType);
+        Map<String, Operation> targetOperations = new HashMap<String, Operation>();
         targetOperations.put("op1", opTarget);
-        target.setOperations(targetOperations);
+        target.getInterface().getOperations().addAll(targetOperations.values());
         try {
             proxyService.checkCompatibility(source, target, false, false);
             fail();
         } catch (IncompatibleServiceContractException e) {
-            //expected
+            // expected
         }
     }
 
     public void testFaultTypes() throws Exception {
-        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-        DataType<Type> sourceFaultType = new DataType<Type>(String.class, String.class);
-        List<DataType<Type>> sourceFaultTypes = new ArrayList<DataType<Type>>();
+        Contract source = new MockContract("FooContract");
+        DataType sourceFaultType = new DataTypeImpl<Type>(String.class, String.class);
+        List<DataType> sourceFaultTypes = new ArrayList<DataType>();
         sourceFaultTypes.add(0, sourceFaultType);
-        Operation<Type> opSource1 =
-            new Operation<Type>("op1", null, null, sourceFaultTypes, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
+        Operation opSource1 = new OperationImpl("op1");
+        opSource1.setFaultTypes(sourceFaultTypes);
+        Map<String, Operation> sourceOperations = new HashMap<String, Operation>();
         sourceOperations.put("op1", opSource1);
-        source.setOperations(sourceOperations);
+        source.getInterface().getOperations().addAll(sourceOperations.values());
 
-        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-        DataType<Type> targetFaultType = new DataType<Type>(String.class, String.class);
-        List<DataType<Type>> targetFaultTypes = new ArrayList<DataType<Type>>();
+        Contract target = new MockContract("FooContract");
+        DataType targetFaultType = new DataTypeImpl<Type>(String.class, String.class);
+        List<DataType> targetFaultTypes = new ArrayList<DataType>();
         targetFaultTypes.add(0, targetFaultType);
 
-        Operation<Type> opTarget =
-            new Operation<Type>("op1", null, null, targetFaultTypes, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
+        Operation opTarget = new OperationImpl("op1");
+        opTarget.setFaultTypes(targetFaultTypes);
+        Map<String, Operation> targetOperations = new HashMap<String, Operation>();
         targetOperations.put("op1", opTarget);
-        target.setOperations(targetOperations);
+        target.getInterface().getOperations().addAll(targetOperations.values());
         proxyService.checkCompatibility(source, target, false, false);
     }
 
     public void testSourceFaultTargetNoFaultCompatibility() throws Exception {
-        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-        DataType<Type> sourceFaultType = new DataType<Type>(String.class, String.class);
-        List<DataType<Type>> sourceFaultTypes = new ArrayList<DataType<Type>>();
+        Contract source = new MockContract("FooContract");
+        DataType sourceFaultType = new DataTypeImpl<Type>(String.class, String.class);
+        List<DataType> sourceFaultTypes = new ArrayList<DataType>();
         sourceFaultTypes.add(0, sourceFaultType);
-        Operation<Type> opSource1 =
-            new Operation<Type>("op1", null, null, sourceFaultTypes, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
+        Operation opSource1 = new OperationImpl("op1");
+        opSource1.setFaultTypes(sourceFaultTypes);
+        Map<String, Operation> sourceOperations = new HashMap<String, Operation>();
         sourceOperations.put("op1", opSource1);
-        source.setOperations(sourceOperations);
+        source.getInterface().getOperations().addAll(sourceOperations.values());
 
-        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-        Operation<Type> opTarget = new Operation<Type>("op1", null, null, null, false, null, NO_CONVERSATION);
-        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
+        Contract target = new MockContract("FooContract");
+        Operation opTarget = new OperationImpl("op1");
+        Map<String, Operation> targetOperations = new HashMap<String, Operation>();
         targetOperations.put("op1", opTarget);
-        target.setOperations(targetOperations);
+        target.getInterface().getOperations().addAll(targetOperations.values());
         proxyService.checkCompatibility(source, target, false, false);
     }
 
     /**
-     * Verifies a source's fault which is a supertype of the target's fault are compatibile
-     *
+     * Verifies a source's fault which is a supertype of the target's fault are
+     * compatibile
+     * 
      * @throws Exception
      */
     public void testFaultSuperTypes() throws Exception {
-//        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-//        DataType<Type> sourceFaultType = new DataType<Type>(Exception.class, Exception.class);
-//        List<DataType<Type>> sourceFaultTypes = new ArrayList<DataType<Type>>();
-//        sourceFaultTypes.add(0, sourceFaultType);
-//        Operation<Type> opSource1 = new Operation<Type>("op1", null, null, sourceFaultTypes, false, null);
-//        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
-//        sourceOperations.put("op1", opSource1);
-//        source.setOperations(sourceOperations);
-//
-//        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-//        DataType<Type> targetFaultType = new DataType<Type>(TuscanyException.class, TuscanyException.class);
-//        List<DataType<Type>> targetFaultTypes = new ArrayList<DataType<Type>>();
-//        targetFaultTypes.add(0, targetFaultType);
-//
-//        Operation<Type> opTarget = new Operation<Type>("op1", null, null, targetFaultTypes, false, null);
-//        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
-//        targetOperations.put("op1", opTarget);
-//        target.setOperations(targetOperations);
-//        wireService.checkCompatibility(source, target, false);
+        // Contract source = new MockContract("FooContract");
+        // DataType sourceFaultType = new DataTypeImpl<Type>(Exception.class,
+        // Exception.class);
+        // List<DataType> sourceFaultTypes = new ArrayList<DataType>();
+        // sourceFaultTypes.add(0, sourceFaultType);
+        // Operation opSource1 = new OperationImpl("op1", null, null,
+        // sourceFaultTypes, false, null);
+        // Map<String, Operation> sourceOperations = new HashMap<String,
+        // Operation>();
+        // sourceOperations.put("op1", opSource1);
+        // source.getInterface().getOperations().addAll(sourceOperations.values());
+        //
+        // Contract target = new MockContract("FooContract");
+        // DataType targetFaultType = new
+        // DataTypeImpl<Type>(TuscanyException.class, TuscanyException.class);
+        // List<DataType> targetFaultTypes = new ArrayList<DataType>();
+        // targetFaultTypes.add(0, targetFaultType);
+        //
+        // Operation opTarget = new OperationImpl("op1", null, null,
+        // targetFaultTypes, false, null);
+        // Map<String, Operation> targetOperations = new HashMap<String,
+        // Operation>();
+        // targetOperations.put("op1", opTarget);
+        // target.getInterface().getOperations().addAll(targetOperations.values());
+        // wireService.checkCompatibility(source, target, false);
     }
 
     /**
-     * Verifies a source's faults which are supertypes and a superset of the target's faults are compatibile
+     * Verifies a source's faults which are supertypes and a superset of the
+     * target's faults are compatibile
      */
     public void testFaultSuperTypesAndSuperset() throws Exception {
-//        ServiceContract<Type> source = new MockContract<Type>("FooContract");
-//        DataType<Type> sourceFaultType = new DataType<Type>(Exception.class, Exception.class);
-//        DataType<Type> sourceFaultType2 = new DataType<Type>(RuntimeException.class, RuntimeException.class);
-//        List<DataType<Type>> sourceFaultTypes = new ArrayList<DataType<Type>>();
-//        sourceFaultTypes.add(0, sourceFaultType);
-//        sourceFaultTypes.add(1, sourceFaultType2);
-//        Operation<Type> opSource1 = new Operation<Type>("op1", null, null, sourceFaultTypes, false, null);
-//        Map<String, Operation<Type>> sourceOperations = new HashMap<String, Operation<Type>>();
-//        sourceOperations.put("op1", opSource1);
-//        source.setOperations(sourceOperations);
-//
-//        ServiceContract<Type> target = new MockContract<Type>("FooContract");
-//        DataType<Type> targetFaultType = new DataType<Type>(TuscanyException.class, TuscanyException.class);
-//        List<DataType<Type>> targetFaultTypes = new ArrayList<DataType<Type>>();
-//        targetFaultTypes.add(0, targetFaultType);
-//
-//        Operation<Type> opTarget = new Operation<Type>("op1", null, null, targetFaultTypes, false, null);
-//        Map<String, Operation<Type>> targetOperations = new HashMap<String, Operation<Type>>();
-//        targetOperations.put("op1", opTarget);
-//        target.setOperations(targetOperations);
-//        wireService.checkCompatibility(source, target, false);
+        // Contract source = new MockContract("FooContract");
+        // DataType sourceFaultType = new DataTypeImpl<Type>(Exception.class,
+        // Exception.class);
+        // DataType sourceFaultType2 = new
+        // DataTypeImpl<Type>(RuntimeException.class, RuntimeException.class);
+        // List<DataType> sourceFaultTypes = new ArrayList<DataType>();
+        // sourceFaultTypes.add(0, sourceFaultType);
+        // sourceFaultTypes.add(1, sourceFaultType2);
+        // Operation opSource1 = new OperationImpl("op1", null, null,
+        // sourceFaultTypes, false, null);
+        // Map<String, Operation> sourceOperations = new HashMap<String,
+        // Operation>();
+        // sourceOperations.put("op1", opSource1);
+        // source.getInterface().getOperations().addAll(sourceOperations.values());
+        //
+        // Contract target = new MockContract("FooContract");
+        // DataType targetFaultType = new
+        // DataTypeImpl<Type>(TuscanyException.class, TuscanyException.class);
+        // List<DataType> targetFaultTypes = new ArrayList<DataType>();
+        // targetFaultTypes.add(0, targetFaultType);
+        //
+        // Operation opTarget = new OperationImpl("op1", null, null,
+        // targetFaultTypes, false, null);
+        // Map<String, Operation> targetOperations = new HashMap<String,
+        // Operation>();
+        // targetOperations.put("op1", opTarget);
+        // target.getInterface().getOperations().addAll(targetOperations.values());
+        // wireService.checkCompatibility(source, target, false);
     }
 
-    private class MockContract<T> extends ServiceContract<T> {
+    private class MockContract<T> extends ComponentServiceImpl {
         public MockContract() {
         }
 
         public MockContract(Class interfaceClass) {
-            super(interfaceClass);
+            JavaInterface jInterface = new JavaInterfaceImpl();
+            jInterface.setJavaClass(interfaceClass);
+            setInterface(jInterface);
         }
 
-        public MockContract(String interfaceName) {
-            super(interfaceName);
+        public MockContract(String interfaceClass) {
+            JavaInterface jInterface = new JavaInterfaceImpl();
+            jInterface.setUnresolved(true);
+            jInterface.setName(interfaceClass);
+            setInterface(jInterface);
         }
     }
 
@@ -377,8 +413,7 @@
             throw new UnsupportedOperationException();
         }
 
-        public void createWires(ReferenceBinding referenceBinding, ServiceContract<?> contract,
-                                QualifiedName targetName) {
+        public void createWires(ReferenceBinding referenceBinding, Contract contract, QualifiedName targetName) {
             throw new UnsupportedOperationException();
         }
 



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