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 [1/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...

Author: rfeng
Date: Wed Apr  4 23:08:37 2007
New Revision: 525717

URL: http://svn.apache.org/viewvc?view=rev&rev=525717
Log:
Port the core to use the new set of model SPIs. There are a few test case failures to be fixed.

Added:
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SingletonAtomicComponent.java
      - copied, changed from r525331, incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/util/JavaIDLUtils.java   (with props)
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/IDLMappingService.java   (with props)
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/IncompatibleContractExceptionFormatter.java
      - copied, changed from r525375, incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/IncompatibleServiceContractExceptionFormatter.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SingletonAtomicComponentTestCase.java
      - copied, changed from r525597, incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponentTestCase.java
Removed:
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingLoader.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentTypeLoader.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/loader/
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/IncompatibleServiceContractExceptionFormatter.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/NonBlockingInterceptorBuilder.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireObjectFactory2.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingLoaderTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponentTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/NonBlockingInterceptorBuilderTestCase.java
Modified:
    incubator/tuscany/java/sca/modules/core/pom.xml
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingBuilder.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingDefinition.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvoker.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalReferenceBinding.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalServiceBinding.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalTargetInvoker.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentContextImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/ReferenceImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/ServiceImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/monitor/DefaultExceptionFormatter.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/monitor/ProxyMonitorFactory.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/resolver/AutowireResolver.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/resolver/DefaultAutowireResolver.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/services/store/memory/MemoryStore.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/InvocationChainImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/NonBlockingInterceptor.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireObjectFactory.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireUtils.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingBuilderTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryNoBindingsTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/JavaObjectRegistrationTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/DefaultExceptionFormatterTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/monitor/JavaLoggingTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/IncompatibleServiceContractExceptionFormatterTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/InvocationChainImplTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/NonBlockingInterceptorTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireOptimizationTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireUtilsTestCase.java

Modified: incubator/tuscany/java/sca/modules/core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/pom.xml?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/core/pom.xml Wed Apr  4 23:08:37 2007
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.tuscany.sca</groupId>
         <artifactId>tuscany-modules</artifactId>
-        <version>${version}</version>
+        <version>1.0-incubating-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>tuscany-core</artifactId>
@@ -32,9 +32,14 @@
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-core-spi</artifactId>
-            <version>${version}</version>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-idl-java</artifactId>
+            <version>${project.version}</version>
+            <scope>compile</scope>
         </dependency>
-
         <dependency>
             <groupId>org.codehaus.woodstox</groupId>
             <artifactId>wstx-asl</artifactId>

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingBuilder.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingBuilder.java Wed Apr  4 23:08:37 2007
@@ -18,17 +18,20 @@
  */
 package org.apache.tuscany.core.binding.local;
 
+import java.net.URI;
+
+import org.apache.tuscany.assembly.ComponentReference;
+import org.apache.tuscany.assembly.CompositeReference;
+import org.apache.tuscany.assembly.CompositeService;
 import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.component.ReferenceBinding;
 import org.apache.tuscany.spi.component.ServiceBinding;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
-import org.apache.tuscany.spi.model.ServiceDefinition;
 
 /**
  * Creates runtime artifacts for the local binding
- *
+ * 
  * @version $Rev$ $Date$
  */
 public class LocalBindingBuilder extends BindingBuilderExtension<LocalBindingDefinition> {
@@ -37,16 +40,18 @@
         return LocalBindingDefinition.class;
     }
 
-    public ServiceBinding build(ServiceDefinition serviceDefinition,
+    @Override
+    public ServiceBinding build(CompositeService serviceDefinition,
                                 LocalBindingDefinition bindingDefinition,
                                 DeploymentContext context) throws BuilderException {
-        return new LocalServiceBinding(serviceDefinition.getUri());
+        return new LocalServiceBinding(URI.create("#" + serviceDefinition.getName()));
     }
 
-
-    public ReferenceBinding build(ReferenceDefinition referenceDefinition,
+    @Override
+    public ReferenceBinding build(CompositeReference referenceDefinition,
                                   LocalBindingDefinition bindingDefinition,
                                   DeploymentContext context) throws BuilderException {
-        return new LocalReferenceBinding(referenceDefinition.getUri(), bindingDefinition.getTargetUri());
+        return new LocalReferenceBinding(URI.create("#" + referenceDefinition.getName()), URI.create(bindingDefinition
+            .getURI()));
     }
 }

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingDefinition.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingDefinition.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalBindingDefinition.java Wed Apr  4 23:08:37 2007
@@ -20,7 +20,7 @@
 
 import java.net.URI;
 
-import org.apache.tuscany.spi.model.BindingDefinition;
+import org.apache.tuscany.assembly.impl.BindingImpl;
 
 
 /**
@@ -28,12 +28,15 @@
  *
  * @version $Rev$ $Date$
  */
-public class LocalBindingDefinition extends BindingDefinition {
+public class LocalBindingDefinition extends BindingImpl {
 
     public LocalBindingDefinition() {
+        super();
+        setURI("default");
     }
 
     public LocalBindingDefinition(URI targetUri) {
-        super(targetUri);
+        super();
+        setURI(targetUri.toString());
     }
 }

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvoker.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvoker.java Wed Apr  4 23:08:37 2007
@@ -20,7 +20,7 @@
 
 import java.util.Map;
 
-import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.idl.Operation;
 import org.apache.tuscany.spi.wire.InvocationChain;
 import org.apache.tuscany.spi.wire.InvocationRuntimeException;
 import org.apache.tuscany.spi.wire.Message;
@@ -55,7 +55,7 @@
 
     private Message invoke(Operation operation, Message msg) throws Throwable {
         //TODO optimize as this is slow in local invocations
-        Map<Operation<?>, InvocationChain> chains = wire.getCallbackInvocationChains();
+        Map<Operation, InvocationChain> chains = wire.getCallbackInvocationChains();
         InvocationChain chain = chains.get(operation);
         TargetInvoker invoker = chain.getTargetInvoker();
         return invoke(chain, invoker, msg);

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalReferenceBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalReferenceBinding.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalReferenceBinding.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalReferenceBinding.java Wed Apr  4 23:08:37 2007
@@ -19,13 +19,13 @@
 package org.apache.tuscany.core.binding.local;
 
 import java.net.URI;
+
 import javax.xml.namespace.QName;
 
+import org.apache.tuscany.idl.Operation;
 import org.apache.tuscany.spi.CoreRuntimeException;
 import org.apache.tuscany.spi.component.TargetInvokerCreationException;
 import org.apache.tuscany.spi.extension.ReferenceBindingExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.physical.PhysicalOperationDefinition;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 import org.apache.tuscany.spi.wire.Wire;
 
@@ -45,18 +45,13 @@
         return Wire.LOCAL_BINDING;
     }
 
-    public TargetInvoker createTargetInvoker(String name, Operation operation)
+    public TargetInvoker createTargetInvoker(String name, Operation operation, boolean isCallback)
         throws TargetInvokerCreationException {
-        if (operation.isCallback()) {
+        if (isCallback) {
             return new LocalCallbackTargetInvoker(operation, wire);
         } else {
             return new LocalTargetInvoker(operation, wire);
         }
-    }
-
-    public TargetInvoker createTargetInvoker(String targetName, PhysicalOperationDefinition operation)
-        throws TargetInvokerCreationException {
-        return null;
     }
 
 }

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalServiceBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalServiceBinding.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalServiceBinding.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalServiceBinding.java Wed Apr  4 23:08:37 2007
@@ -19,13 +19,13 @@
 package org.apache.tuscany.core.binding.local;
 
 import java.net.URI;
+
 import javax.xml.namespace.QName;
 
+import org.apache.tuscany.idl.Operation;
 import org.apache.tuscany.spi.CoreRuntimeException;
 import org.apache.tuscany.spi.component.TargetInvokerCreationException;
 import org.apache.tuscany.spi.extension.ServiceBindingExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.physical.PhysicalOperationDefinition;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 import org.apache.tuscany.spi.wire.Wire;
 
@@ -44,17 +44,12 @@
         return Wire.LOCAL_BINDING;
     }
 
-    public TargetInvoker createTargetInvoker(String name, Operation operation)
+    public TargetInvoker createTargetInvoker(String name, Operation operation, boolean isCallback)
         throws TargetInvokerCreationException {
-        if (operation.isCallback()) {
+        if (isCallback) {
             return new LocalCallbackTargetInvoker(operation, getWire());
         } else {
             return new LocalTargetInvoker(operation, getWire());
         }
-    }
-
-    public TargetInvoker createTargetInvoker(String targetName, PhysicalOperationDefinition operation)
-        throws TargetInvokerCreationException {
-        return null;
     }
 }

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalTargetInvoker.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/binding/local/LocalTargetInvoker.java Wed Apr  4 23:08:37 2007
@@ -20,7 +20,7 @@
 
 import java.net.URI;
 
-import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.idl.Operation;
 import org.apache.tuscany.spi.util.UriHelper;
 import org.apache.tuscany.spi.wire.InvocationChain;
 import org.apache.tuscany.spi.wire.InvocationRuntimeException;

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java Wed Apr  4 23:08:37 2007
@@ -22,7 +22,6 @@
 
 import org.apache.tuscany.core.binding.local.LocalBindingBuilder;
 import org.apache.tuscany.core.binding.local.LocalBindingDefinition;
-import org.apache.tuscany.core.binding.local.LocalBindingLoader;
 import org.apache.tuscany.core.builder.BuilderRegistryImpl;
 import org.apache.tuscany.core.builder.ConnectorImpl;
 import org.apache.tuscany.core.component.ComponentManagerImpl;
@@ -33,31 +32,16 @@
 import org.apache.tuscany.core.component.scope.StatelessScopeContainer;
 import org.apache.tuscany.core.deployer.DeployerImpl;
 import org.apache.tuscany.core.implementation.composite.CompositeBuilder;
-import org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader;
-import org.apache.tuscany.core.implementation.composite.CompositeLoader;
-import org.apache.tuscany.core.loader.ComponentLoader;
-import org.apache.tuscany.core.loader.ComponentTypeElementLoader;
-import org.apache.tuscany.core.loader.IncludeLoader;
-import org.apache.tuscany.core.loader.LoaderRegistryImpl;
-import org.apache.tuscany.core.loader.PropertyLoader;
-import org.apache.tuscany.core.loader.ReferenceLoader;
-import org.apache.tuscany.core.loader.ServiceLoader;
 import org.apache.tuscany.core.resolver.AutowireResolver;
 import org.apache.tuscany.core.resolver.DefaultAutowireResolver;
+import org.apache.tuscany.core.wire.IDLMappingService;
 import org.apache.tuscany.host.MonitorFactory;
-import org.apache.tuscany.spi.builder.Builder;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
 import org.apache.tuscany.spi.builder.Connector;
 import org.apache.tuscany.spi.component.ComponentManager;
 import org.apache.tuscany.spi.component.ScopeContainerMonitor;
 import org.apache.tuscany.spi.component.ScopeRegistry;
 import org.apache.tuscany.spi.deployer.Deployer;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.implementation.java.Introspector;
-import org.apache.tuscany.spi.loader.Loader;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.PropertyObjectFactory;
-import org.apache.tuscany.spi.model.CompositeImplementation;
 
 /**
  * A default implementation of a Bootstrapper. Please see the documentation on
@@ -102,7 +86,7 @@
     public DefaultBootstrapper(MonitorFactory monitorFactory) {
         this.monitorFactory = monitorFactory;
         this.xmlFactory = XMLInputFactory.newInstance("javax.xml.stream.XMLInputFactory", getClass().getClassLoader());
-        this.resolver = new DefaultAutowireResolver();
+        this.resolver = new DefaultAutowireResolver(new IDLMappingService());
         this.componentManager = new ComponentManagerImpl(null, this.resolver);
         this.connector = new ConnectorImpl(componentManager);
         this.scopeRegistry = createScopeRegistry();
@@ -127,13 +111,12 @@
     public Deployer createDeployer() {
         ScopeRegistry scopeRegistry = getScopeRegistry();
         BuilderRegistry builder = createBuilder(scopeRegistry);
-        LoaderRegistry loader = createLoader(null, null);
-        DeployerImpl deployer = new DeployerImpl(xmlFactory, loader, builder, componentManager, resolver, connector);
+        DeployerImpl deployer = new DeployerImpl(xmlFactory, builder, componentManager, resolver, connector);
         deployer.setMonitor(getMonitorFactory().getMonitor(ScopeContainerMonitor.class));
         deployer.setScopeRegistry(getScopeRegistry());
         extensionRegistry.addExtension(ScopeRegistry.class, scopeRegistry);
         extensionRegistry.addExtension(BuilderRegistry.class, builder);
-        extensionRegistry.addExtension(LoaderRegistry.class, loader);
+        // extensionRegistry.addExtension(LoaderRegistry.class, loader);
         extensionRegistry.addExtension(Deployer.class, deployer);
         return deployer;
     }
@@ -176,35 +159,6 @@
         return resolver;
     }
 
-    /**
-     * Helper method for registering a loader with the registry. The Loader is
-     * registered once for the QName returned by its
-     * {@link LoaderExtension#getXMLType()} method.
-     * 
-     * @param registry the LoaderRegistry to register with
-     * @param loader the Loader to register
-     */
-    protected void registerLoader(LoaderRegistry registry, LoaderExtension<?> loader) {
-        registry.registerLoader(loader.getXMLType(), loader);
-    }
-
-    public LoaderRegistry createLoader(PropertyObjectFactory propertyFactory, Introspector introspector) {
-        LoaderRegistryImpl loaderRegistry = new LoaderRegistryImpl(monitorFactory
-            .getMonitor(LoaderRegistryImpl.Monitor.class));
-
-        // register element loaders
-        registerLoader(loaderRegistry, new ComponentLoader(loaderRegistry, propertyFactory));
-        registerLoader(loaderRegistry, new ComponentTypeElementLoader(loaderRegistry));
-        registerLoader(loaderRegistry, new CompositeLoader(loaderRegistry, null));
-        registerLoader(loaderRegistry, new IncludeLoader(loaderRegistry));
-        registerLoader(loaderRegistry, new PropertyLoader(loaderRegistry));
-        registerLoader(loaderRegistry, new ReferenceLoader(loaderRegistry));
-        registerLoader(loaderRegistry, new ServiceLoader(loaderRegistry));
-        registerLoader(loaderRegistry, new LocalBindingLoader(loaderRegistry));
-
-        loaderRegistry.registerLoader(CompositeImplementation.class, new CompositeComponentTypeLoader(loaderRegistry));
-        return loaderRegistry;
-    }
 
     /**
      * Create a Builder that can be used to build the components in the system

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Wed Apr  4 23:08:37 2007
@@ -22,8 +22,17 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.osoa.sca.annotations.EagerInit;
-
+import org.apache.tuscany.assembly.Binding;
+import org.apache.tuscany.assembly.ComponentType;
+import org.apache.tuscany.assembly.CompositeReference;
+import org.apache.tuscany.assembly.CompositeService;
+import org.apache.tuscany.assembly.Implementation;
+import org.apache.tuscany.assembly.Property;
+import org.apache.tuscany.assembly.Service;
+import org.apache.tuscany.core.binding.local.LocalBindingDefinition;
+import org.apache.tuscany.core.implementation.composite.ReferenceImpl;
+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.BuilderException;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
@@ -34,79 +43,70 @@
 import org.apache.tuscany.spi.component.ReferenceBinding;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.ScopeRegistry;
-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.Implementation;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
-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.core.binding.local.LocalBindingDefinition;
-import org.apache.tuscany.core.implementation.composite.ReferenceImpl;
-import org.apache.tuscany.core.implementation.composite.ServiceImpl;
+import org.osoa.sca.annotations.EagerInit;
 
 /**
  * The default builder registry in the runtime
- *
+ * 
  * @version $Rev$ $Date$
  */
 @EagerInit
 public class BuilderRegistryImpl implements BuilderRegistry {
     private ScopeRegistry scopeRegistry;
 
-    private final Map<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>> componentBuilders = 
-        new HashMap<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>>();
-    private final Map<Class<? extends BindingDefinition>, BindingBuilder<? extends BindingDefinition>> bindingBuilders =
-        new HashMap<Class<? extends BindingDefinition>, BindingBuilder<? extends BindingDefinition>>();
+    private final Map<Class<? extends Implementation>, ComponentBuilder> componentBuilders = new HashMap<Class<? extends Implementation>, ComponentBuilder>();
+    private final Map<Class<? extends Binding>, BindingBuilder<? extends Binding>> bindingBuilders = new HashMap<Class<? extends Binding>, BindingBuilder<? extends Binding>>();
 
-    public BuilderRegistryImpl(@org.osoa.sca.annotations.Reference ScopeRegistry scopeRegistry) {
+    public BuilderRegistryImpl(@org.osoa.sca.annotations.Reference
+    ScopeRegistry scopeRegistry) {
         this.scopeRegistry = scopeRegistry;
     }
 
-    public <I extends Implementation<?>> void register(Class<I> implClass, ComponentBuilder<I> builder) {
+    public <I extends Implementation> void register(Class<I> implClass, ComponentBuilder builder) {
         componentBuilders.put(implClass, builder);
     }
 
-    public <I extends Implementation<?>> void unregister(Class<I> implClass) {
+    public <I extends Implementation> void unregister(Class<I> implClass) {
         componentBuilders.remove(implClass);
     }
 
-    public <B extends BindingDefinition> void register(Class<B> implClass, BindingBuilder<B> builder) {
+    public <B extends Binding> void register(Class<B> implClass, BindingBuilder<B> builder) {
         bindingBuilders.put(implClass, builder);
     }
 
     @SuppressWarnings("unchecked")
-    public <I extends Implementation<?>> Component build(
-        ComponentDefinition<I> componentDefinition,
-        DeploymentContext context) throws BuilderException {
-        Class<?> implClass = componentDefinition.getImplementation().getClass();
+    public Component build(org.apache.tuscany.assembly.Component componentDef, DeploymentContext context)
+        throws BuilderException {
+        Class<?> implClass = componentDef.getImplementation().getClass();
         // noinspection SuspiciousMethodCalls
-        ComponentBuilder<I> componentBuilder = (ComponentBuilder<I>) componentBuilders.get(implClass);
+        ComponentBuilder componentBuilder = componentBuilders.get(implClass);
         if (componentBuilder == null) {
             String name = implClass.getName();
             throw new NoRegisteredBuilderException("No builder registered for implementation", name);
         }
-        Component component = componentBuilder.build(componentDefinition, context);
+        Component component = componentBuilder.build(componentDef, context);
         assert component != null;
-        component.setDefaultPropertyValues(componentDefinition.getPropertyValues());
-        Scope scope = componentDefinition.getImplementation().getComponentType().getImplementationScope();
+        Map<String, Property> properties = new HashMap<String, Property>();
+        for (Property p : componentDef.getProperties()) {
+            properties.put(p.getName(), p);
+        }
+        component.setDefaultPropertyValues(properties);
+        
+        // FIXME: How to deal scopes?
+        // Scope scope = componentDef.getImplementation().getScope();
+        Scope scope = Scope.STATELESS;
+
         if (scope == Scope.SYSTEM || scope == Scope.COMPOSITE) {
             component.setScopeContainer(context.getCompositeScope());
         } else {
             // Check for conversational contract if conversational scope
             if (scope == Scope.CONVERSATION) {
                 boolean hasConversationalContract = false;
-                ComponentType<ServiceDefinition, ReferenceDefinition, ?> componentType =
-                    componentDefinition.getImplementation().getComponentType();
-                Map<String, ServiceDefinition> services = componentType.getServices();
-                for (ServiceDefinition serviceDef : services.values()) {
-                    ServiceContract<?> contract = serviceDef.getServiceContract();
-                    if (contract.isConversational()) {
+                ComponentType componentType = componentDef.getImplementation();
+                for (Service serviceDef : componentType.getServices()) {
+                    if (serviceDef.getInterface().isConversational()) {
                         hasConversationalContract = true;
                         break;
                     }
@@ -114,7 +114,8 @@
                 if (!hasConversationalContract) {
                     String name = implClass.getName();
                     throw new NoConversationalContractException(
-                        "No conversational contract for conversational implementation", name);
+                                                                "No conversational contract for conversational implementation",
+                                                                name);
                 }
             }
             // Now it's ok to set the scope container
@@ -125,26 +126,28 @@
             component.setScopeContainer(scopeContainer);
         }
         context.getComponents().put(component.getUri(), component);
-        ComponentType<?, ?, ?> componentType = componentDefinition.getImplementation().getComponentType();
+        ComponentType componentType = componentDef.getImplementation();
         assert componentType != null : "Component type must be set";
         return component;
     }
 
-    @SuppressWarnings({"unchecked"})
-    public Service build(ServiceDefinition serviceDefinition, DeploymentContext context) throws BuilderException {
-        URI uri = serviceDefinition.getUri();
-        ServiceContract<?> serviceContract = serviceDefinition.getServiceContract();
+    @SuppressWarnings( {"unchecked"})
+    public org.apache.tuscany.spi.component.Service build(CompositeService serviceDefinition, DeploymentContext context)
+        throws BuilderException {
+        URI uri = URI.create("#" + serviceDefinition.getName());
         if (serviceDefinition.getBindings().isEmpty()) {
             // if no bindings are configured, default to the local binding.
             // this should be changed to allow runtime selection
             if (serviceDefinition.getBindings().isEmpty()) {
-                // TODO JFM implement capability for the runtime to choose a binding
-                serviceDefinition.addBinding(new LocalBindingDefinition());
+                // TODO JFM implement capability for the runtime to choose a
+                // binding
+                serviceDefinition.getBindings().add(new LocalBindingDefinition());
             }
         }
-        URI targetUri = serviceDefinition.getTarget();
-        Service service = new ServiceImpl(uri, serviceContract, targetUri);
-        for (BindingDefinition definition : serviceDefinition.getBindings()) {
+        // FIXME:
+        URI targetUri = URI.create("#" + serviceDefinition.getPromotedService().getName());
+        org.apache.tuscany.spi.component.Service service = new ServiceImpl(uri, serviceDefinition, targetUri);
+        for (Binding definition : serviceDefinition.getBindings()) {
             Class<?> bindingClass = definition.getClass();
             // noinspection SuspiciousMethodCalls
             BindingBuilder bindingBuilder = bindingBuilders.get(bindingClass);
@@ -158,20 +161,20 @@
     }
 
     @SuppressWarnings("unchecked")
-    public Reference build(ReferenceDefinition referenceDefinition, DeploymentContext context) throws BuilderException {
-        URI uri = referenceDefinition.getUri();
-        ServiceContract<?> contract = referenceDefinition.getServiceContract();
+    public Reference build(CompositeReference referenceDefinition, DeploymentContext context) throws BuilderException {
+        URI uri = URI.create("#" + referenceDefinition.getName());
         if (referenceDefinition.getBindings().isEmpty()) {
             // if no bindings are configured, default to the local binding.
             // this should be changed to allow runtime selection
             if (referenceDefinition.getBindings().isEmpty()) {
-                // TODO JFM implement capability for the runtime to choose a binding
-                referenceDefinition.addBinding(new LocalBindingDefinition());
+                // TODO JFM implement capability for the runtime to choose a
+                // binding
+                referenceDefinition.getBindings().add(new LocalBindingDefinition());
             }
         }
 
-        Reference reference = new ReferenceImpl(uri, contract);
-        for (BindingDefinition bindingDefinition : referenceDefinition.getBindings()) {
+        Reference reference = new ReferenceImpl(uri, referenceDefinition);
+        for (Binding bindingDefinition : referenceDefinition.getBindings()) {
             Class<?> bindingClass = bindingDefinition.getClass();
             // noinspection SuspiciousMethodCalls
             BindingBuilder bindingBuilder = bindingBuilders.get(bindingClass);

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java Wed Apr  4 23:08:37 2007
@@ -21,16 +21,25 @@
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
-import javax.xml.namespace.QName;
 
-import org.osoa.sca.annotations.Constructor;
+import javax.xml.namespace.QName;
 
-import org.apache.tuscany.spi.builder.BuilderException;
+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.Contract;
+import org.apache.tuscany.assembly.Multiplicity;
+import org.apache.tuscany.core.wire.InvocationChainImpl;
+import org.apache.tuscany.core.wire.InvokerInterceptor;
+import org.apache.tuscany.core.wire.NonBlockingInterceptor;
+import org.apache.tuscany.core.wire.WireImpl;
+import org.apache.tuscany.core.wire.WireUtils;
+import org.apache.tuscany.idl.Operation;
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.builder.Connector;
 import org.apache.tuscany.spi.builder.WiringException;
-import org.apache.tuscany.spi.builder.interceptor.InterceptorBuilderRegistry;
-import org.apache.tuscany.spi.builder.physical.WireAttacherRegistry;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ComponentManager;
@@ -41,144 +50,94 @@
 import org.apache.tuscany.spi.component.ServiceBinding;
 import org.apache.tuscany.spi.component.TargetInvokerCreationException;
 import org.apache.tuscany.spi.component.WorkContext;
-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.Implementation;
-import org.apache.tuscany.spi.model.Operation;
-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.model.physical.PhysicalInterceptorDefinition;
-import org.apache.tuscany.spi.model.physical.PhysicalOperationDefinition;
-import org.apache.tuscany.spi.model.physical.PhysicalWireDefinition;
-import org.apache.tuscany.spi.model.physical.PhysicalWireSourceDefinition;
-import org.apache.tuscany.spi.model.physical.PhysicalWireTargetDefinition;
 import org.apache.tuscany.spi.services.work.WorkScheduler;
 import org.apache.tuscany.spi.util.UriHelper;
-import org.apache.tuscany.spi.wire.Interceptor;
 import org.apache.tuscany.spi.wire.InvocationChain;
 import org.apache.tuscany.spi.wire.Wire;
 import org.apache.tuscany.spi.wire.WirePostProcessorRegistry;
-
-import org.apache.tuscany.core.wire.InvocationChainImpl;
-import org.apache.tuscany.core.wire.InvokerInterceptor;
-import org.apache.tuscany.core.wire.NonBlockingInterceptor;
-import org.apache.tuscany.core.wire.WireImpl;
-import org.apache.tuscany.core.wire.WireUtils;
+import org.osoa.sca.annotations.Constructor;
 
 /**
  * The default connector implmentation
- *
- * @version $$Rev$$ $$Date$$
+ * 
+ * @version $$Rev$$ $$Date: 2007-04-03 10:40:40 -0700 (Tue, 03 Apr
+ *          2007) $$
  */
 public class ConnectorImpl implements Connector {
     private WirePostProcessorRegistry postProcessorRegistry;
     private ComponentManager componentManager;
     private WorkContext workContext;
     private WorkScheduler scheduler;
-    private InterceptorBuilderRegistry interceptorBuilderRegistry;
-    private WireAttacherRegistry attacherRegistry;
 
     public ConnectorImpl(ComponentManager componentManager) {
         this.componentManager = componentManager;
     }
 
     @Constructor
-    public ConnectorImpl(
-        @org.osoa.sca.annotations.Reference InterceptorBuilderRegistry interceptorBuilderRegistry,
-        @org.osoa.sca.annotations.Reference WireAttacherRegistry attacherRegistry,
-        @org.osoa.sca.annotations.Reference WirePostProcessorRegistry processorRegistry,
-        @org.osoa.sca.annotations.Reference ComponentManager componentManager,
-        @org.osoa.sca.annotations.Reference WorkScheduler scheduler,
-        @org.osoa.sca.annotations.Reference WorkContext workContext) {
-        this.attacherRegistry = attacherRegistry;
-        this.interceptorBuilderRegistry = interceptorBuilderRegistry;
+    public ConnectorImpl(@org.osoa.sca.annotations.Reference
+    WirePostProcessorRegistry processorRegistry, @org.osoa.sca.annotations.Reference
+    ComponentManager componentManager, @org.osoa.sca.annotations.Reference
+    WorkScheduler scheduler, @org.osoa.sca.annotations.Reference
+    WorkContext workContext) {
         this.postProcessorRegistry = processorRegistry;
         this.componentManager = componentManager;
         this.scheduler = scheduler;
         this.workContext = workContext;
     }
 
-    /**
-     * <strong>Note this method will not work yet</strong>
-     * <p/>
-     * Wires a source and target component based on a wire defintion
-     *
-     * @param definition the wire definition
-     * @throws WiringException
-     */
-    public void connect(PhysicalWireDefinition definition) throws BuilderException {
-        URI sourceUri = definition.getSourceUri();
-        assert sourceUri != null;
-        URI targetUri = definition.getTargetUri();
-        assert targetUri != null;
-        URI baseSourceUri = UriHelper.getDefragmentedName(sourceUri);
-        URI baseTargetUri = UriHelper.getDefragmentedName(targetUri);
-        Component source = componentManager.getComponent(baseSourceUri);
-        if (source == null) {
-            throw new ComponentNotFoundException("Wire source component not found", baseSourceUri);
-        }
-        Wire wire = createWire(definition);
-
-        PhysicalWireSourceDefinition sourceDefinition = definition.getSource();
-        PhysicalWireTargetDefinition targetDefinition = definition.getTarget();
-        Component target;
-        if (baseTargetUri != null) {
-            target = componentManager.getComponent(baseTargetUri);
-            if (target == null) {
-                throw new ComponentNotFoundException("Wire target component not found", baseTargetUri);
+    private org.apache.tuscany.assembly.Reference getReference(List<org.apache.tuscany.assembly.Reference> refs,
+                                                               String name) {
+        for (org.apache.tuscany.assembly.Reference ref : refs) {
+            if (ref.getName().equals(name)) {
+                return ref;
             }
-        } else {
-            target = null;
         }
-        attacherRegistry.attachToSource(source, sourceDefinition, target, targetDefinition, wire);
-        attacherRegistry.attachToTarget(source, sourceDefinition, target, targetDefinition, wire);
+        return null;
     }
 
-    public void connect(ComponentDefinition<? extends Implementation<?>> definition) throws WiringException {
-        URI sourceUri = definition.getUri();
+    public void connect(URI groupId, org.apache.tuscany.assembly.Component definition) throws WiringException {
+        URI sourceUri = URI.create(groupId.toString() + "/" + definition.getName());
         Component source = componentManager.getComponent(sourceUri);
         if (source == null) {
             throw new ComponentNotFoundException("Source not found", sourceUri);
         }
-        ComponentType<?, ?, ?> type = definition.getImplementation().getComponentType();
-        if (type instanceof CompositeComponentType) {
-            CompositeComponentType<?, ?, ?> compositeType = (CompositeComponentType<?, ?, ?>) type;
-            for (ComponentDefinition<? extends Implementation<?>> child : compositeType.getComponents().values()) {
-                connect(child);
+        ComponentType type = definition.getImplementation();
+        if (type instanceof Composite) {
+            Composite composite = (Composite)type;
+            for (org.apache.tuscany.assembly.Component child : composite.getComponents()) {
+                connect(sourceUri, child);
             }
-            for (ServiceDefinition child : compositeType.getServices().values()) {
-                connect(child);
+            for (org.apache.tuscany.assembly.Service child : composite.getServices()) {
+                connect(groupId, (CompositeService)child);
             }
-            for (ReferenceDefinition child : compositeType.getReferences().values()) {
-                connect(child);
+            for (org.apache.tuscany.assembly.Reference child : composite.getReferences()) {
+                connect(groupId, (CompositeReference)child);
             }
         }
-        Map<String, ReferenceTarget> targets = definition.getReferenceTargets();
-        for (ReferenceTarget referenceTarget : targets.values()) {
+
+        for (org.apache.tuscany.assembly.Reference ref : definition.getReferences()) {
             List<Wire> wires = new ArrayList<Wire>();
-            String refName = referenceTarget.getReferenceName().getFragment();
-            ReferenceDefinition refDefinition = type.getReferences().get(refName);
+            String refName = ref.getName();
+            org.apache.tuscany.assembly.Reference refDefinition = getReference(type.getReferences(), refName);
             assert refDefinition != null;
-            List<URI> uris = referenceTarget.getTargets();
-            for (URI uri : uris) {
-                URI targetUri = UriHelper.getDefragmentedName(uri);
+            for (ComponentService service : ref.getTargets()) {
+                URI targetUri = groupId;
                 Component target = componentManager.getComponent(targetUri);
-                if (target == null && !refDefinition.isRequired()) {
+                boolean required = refDefinition.getMultiplicity() == Multiplicity.ONE_N || refDefinition
+                                       .getMultiplicity() == Multiplicity.ONE_ONE;
+
+                if (target == null && !required) {
                     // a non-required reference, just skip
                     continue;
                 }
                 if (target == null) {
                     throw new ComponentNotFoundException("Target not found", targetUri);
                 }
-                String fragment = uri.getFragment();
-                URI sourceURI = refDefinition.getUri();
-                Wire wire = createWire(sourceURI, uri, refDefinition.getServiceContract(), Wire.LOCAL_BINDING);
+                URI sourceURI = URI.create(groupId + "#" + refName);
+                URI uri = URI.create(groupId + "#" + service.getName());
+                Wire wire = createWire(sourceURI, uri, refDefinition, Wire.LOCAL_BINDING);
                 try {
-                    attachInvokers(fragment, wire, source, target);
+                    attachInvokers(service.getName(), wire, source, target);
                 } catch (TargetInvokerCreationException e) {
                     throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
                 }
@@ -202,13 +161,11 @@
         }
     }
 
-    /**
-     * @deprecated
-     */
-    protected void connect(ServiceDefinition definition) throws WiringException {
-        URI uri = definition.getUri();
-        URI sourceUri = UriHelper.getDefragmentedName(uri);
-        URI targetUri = definition.getTarget();
+    protected void connect(URI groupId, CompositeService definition) throws WiringException {
+        URI uri = URI.create(groupId + "#" + definition.getName());
+        URI sourceUri = groupId;
+        // FIXME: How to access the URI of the promoted service
+        URI targetUri = URI.create(groupId + "#" + definition.getPromotedService().getName());
         URI baseTargetUri = UriHelper.getDefragmentedName(targetUri);
         Component source = componentManager.getComponent(sourceUri);
         if (source == null) {
@@ -222,7 +179,7 @@
         if (target == null) {
             throw new ComponentNotFoundException("Target not found", sourceUri);
         }
-        ServiceContract<?> contract = definition.getServiceContract();
+        Contract contract = definition;
         // TODO if no binding, do local
         for (ServiceBinding binding : service.getServiceBindings()) {
             Wire wire = createWire(uri, targetUri, contract, binding.getBindingType());
@@ -231,33 +188,29 @@
                 postProcessorRegistry.process(wire);
             }
             try {
-                attachInvokers(definition.getTarget().getFragment(), wire, binding, target);
+                attachInvokers(definition.getName(), wire, binding, target);
             } catch (TargetInvokerCreationException e) {
                 throw new WireCreationException("Error creating invoker", sourceUri, baseTargetUri, e);
             }
         }
     }
 
-    /**
-     * @deprecated
-     */
-    protected void connect(ReferenceDefinition definition) throws WiringException {
-        URI uri = definition.getUri();
-        URI sourceUri = UriHelper.getDefragmentedName(uri);
+    protected void connect(URI groupId, CompositeReference definition) throws WiringException {
+        URI sourceUri = groupId;
         Component source = componentManager.getComponent(sourceUri);
         if (source == null) {
             throw new ComponentNotFoundException("Source not found", sourceUri);
         }
-        Reference reference = source.getReference(uri.getFragment());
+        Reference reference = source.getReference(definition.getName());
         if (reference == null) {
-            throw new SourceServiceNotFoundException("Reference not found on composite", uri);
+            throw new SourceServiceNotFoundException("Reference not found on composite", groupId);
         }
 
         for (ReferenceBinding binding : reference.getReferenceBindings()) {
             // create wire
             if (Wire.LOCAL_BINDING.equals(binding.getBindingType())) {
                 URI targetUri = binding.getTargetUri();
-                ServiceContract<?> contract = binding.getBindingServiceContract();
+                Contract contract = binding.getBindingServiceContract();
                 QName type = binding.getBindingType();
                 Wire wire = createWire(sourceUri, targetUri, contract, type);
                 binding.setWire(wire);
@@ -281,30 +234,13 @@
         }
     }
 
-    protected Wire createWire(PhysicalWireDefinition definition) throws BuilderException {
-        URI sourceURI = definition.getSourceUri();
-        URI targetUri = definition.getTargetUri();
-        Wire wire = new WireImpl();
-        wire.setSourceUri(sourceURI);
-        wire.setTargetUri(targetUri);
-        for (PhysicalOperationDefinition operation : definition.getOperations()) {
-            InvocationChain chain = new InvocationChainImpl(operation);
-            for (PhysicalInterceptorDefinition interceptorDefinition : operation.getInterceptors()) {
-                Interceptor interceptor = interceptorBuilderRegistry.build(interceptorDefinition);
-                chain.addInterceptor(interceptor);
-            }
-            wire.addInvocationChain(operation, chain);
-        }
-        return wire;
-    }
-
-    protected Wire createWire(URI sourceURI, URI targetUri, ServiceContract<?> contract, QName bindingType) {
+    protected Wire createWire(URI sourceURI, URI targetUri, Contract contract, QName bindingType) {
         Wire wire = new WireImpl(bindingType);
         wire.setSourceContract(contract);
         wire.setTargetContract(contract);
         wire.setSourceUri(sourceURI);
         wire.setTargetUri(targetUri);
-        for (Operation<?> operation : contract.getOperations().values()) {
+        for (Operation operation : contract.getInterface().getOperations()) {
             InvocationChain chain = new InvocationChainImpl(operation);
             if (operation.isNonBlocking()) {
                 chain.addInterceptor(new NonBlockingInterceptor(scheduler, workContext));
@@ -313,7 +249,7 @@
             wire.addInvocationChain(operation, chain);
 
         }
-        for (Operation<?> operation : contract.getCallbackOperations().values()) {
+        for (Operation operation : contract.getCallbackInterface().getOperations()) {
             InvocationChain chain = new InvocationChainImpl(operation);
             if (operation.isNonBlocking()) {
                 chain.addInterceptor(new NonBlockingInterceptor(scheduler, workContext));
@@ -329,12 +265,13 @@
      */
     private void attachInvokers(String name, Wire wire, Invocable source, Invocable target)
         throws TargetInvokerCreationException {
-        // TODO section will deleted be replaced when we cut-over to the physical marshallers
+        // TODO section will deleted be replaced when we cut-over to the
+        // physical marshallers
         for (InvocationChain chain : wire.getInvocationChains().values()) {
-            chain.setTargetInvoker(target.createTargetInvoker(name, chain.getOperation()));
+            chain.setTargetInvoker(target.createTargetInvoker(name, chain.getOperation(), false));
         }
         for (InvocationChain chain : wire.getCallbackInvocationChains().values()) {
-            chain.setTargetInvoker(source.createTargetInvoker(null, chain.getOperation()));
+            chain.setTargetInvoker(source.createTargetInvoker(null, chain.getOperation(), true));
         }
     }
 
@@ -345,15 +282,14 @@
         boolean optimizableScopes = isOptimizable(source.getScope(), target.getScope());
         if (optimizableScopes && target.isOptimizable() && WireUtils.isOptimizable(wire)) {
             wire.setOptimizable(true);
-            wire.setTarget((AtomicComponent) target);
+            wire.setTarget((AtomicComponent)target);
         } else {
             wire.setOptimizable(false);
         }
     }
 
     protected boolean isOptimizable(Scope pReferrer, Scope pReferee) {
-        if (pReferrer == Scope.UNDEFINED
-            || pReferee == Scope.UNDEFINED
+        if (pReferrer == Scope.UNDEFINED || pReferee == Scope.UNDEFINED
             || pReferrer == Scope.CONVERSATION
             || pReferee == Scope.CONVERSATION) {
             return false;
@@ -374,12 +310,13 @@
             return true;
         } else if (pReferrer == Scope.SESSION && pReferee == Scope.SYSTEM) {
             return true;
-        } else //noinspection SimplifiableIfStatement
-            if (pReferrer == Scope.SYSTEM && pReferee == Scope.COMPOSITE) {
-                // case where a service context points to a composite scoped component
-                return true;
-            } else {
-                return pReferrer == Scope.COMPOSITE && pReferee == Scope.SYSTEM;
-            }
+        } else // noinspection SimplifiableIfStatement
+        if (pReferrer == Scope.SYSTEM && pReferee == Scope.COMPOSITE) {
+            // case where a service context points to a composite scoped
+            // component
+            return true;
+        } else {
+            return pReferrer == Scope.COMPOSITE && pReferee == Scope.SYSTEM;
+        }
     }
-}
\ No newline at end of file
+}

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentContextImpl.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentContextImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentContextImpl.java Wed Apr  4 23:08:37 2007
@@ -18,16 +18,14 @@
  */
 package org.apache.tuscany.core.component;
 
+import org.apache.tuscany.spi.ObjectFactory;
+import org.apache.tuscany.spi.TuscanyRuntimeException;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.osoa.sca.CallableReference;
 import org.osoa.sca.ComponentContext;
 import org.osoa.sca.RequestContext;
 import org.osoa.sca.ServiceReference;
 import org.osoa.sca.ServiceRuntimeException;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.Component;
 
 /**
  * Implementation of ComponentContext that delegates to a ComponentContextProvider.

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java Wed Apr  4 23:08:37 2007
@@ -23,21 +23,20 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.tuscany.assembly.ComponentService;
+import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.core.resolver.AutowireResolver;
 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.component.RegistrationException;
 import org.apache.tuscany.spi.event.Event;
-import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.services.management.TuscanyManagementService;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-
-import org.apache.tuscany.core.resolver.AutowireResolver;
 
 /**
  * Default implementation of the component manager
- *
+ * 
  * @version $Rev$ $Date$
  */
 public class ComponentManagerImpl implements ComponentManager {
@@ -65,31 +64,26 @@
         components.put(uri, component);
 
         if (managementService != null && component instanceof AtomicComponent) {
-            // FIXME shouldn't it take the canonical name and also not distinguish atomic components?
+            // FIXME shouldn't it take the canonical name and also not
+            // distinguish atomic components?
             managementService.registerComponent(component.getUri().toString(), component);
         }
     }
 
-    public <S, I extends S> void registerJavaObject(URI uri, JavaServiceContract<S> service, I instance)
-        throws RegistrationException {
-        SystemSingletonAtomicComponent<S, I> component =
-            new SystemSingletonAtomicComponent<S, I>(uri, service, instance);
+    public <I> void registerJavaObject(URI uri, ComponentService service, I instance) throws RegistrationException {
+        SingletonAtomicComponent<I> component = new SingletonAtomicComponent<I>(uri, service, instance);
         register(component);
         if (resolver != null) {
-            for (ServiceContract contract : component.getServiceContracts()) {
-                resolver.addHostUri(contract, uri);
-            }
+            resolver.addPrimordialService(service, uri);
         }
     }
 
-    public <S, I extends S> void registerJavaObject(URI uri, List<JavaServiceContract<?>> services, I instance)
-        throws RegistrationException {
-        SystemSingletonAtomicComponent<S, I> component =
-            new SystemSingletonAtomicComponent<S, I>(uri, services, instance);
+    public <I> void registerJavaObject(URI uri, List<ComponentService> services, I instance) throws RegistrationException {
+        SingletonAtomicComponent<I> component = new SingletonAtomicComponent<I>(uri, services, instance);
         register(component);
         if (resolver != null) {
-            for (ServiceContract contract : component.getServiceContracts()) {
-                resolver.addHostUri(contract, uri);
+            for (ComponentService contract : services) {
+                resolver.addPrimordialService(contract, uri);
             }
         }
     }

Copied: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SingletonAtomicComponent.java (from r525331, incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SingletonAtomicComponent.java?view=diff&rev=525717&p1=incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java&r1=525331&p2=incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SingletonAtomicComponent.java&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SingletonAtomicComponent.java Wed Apr  4 23:08:37 2007
@@ -22,43 +22,42 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.tuscany.assembly.ComponentService;
 import org.apache.tuscany.core.injection.SingletonObjectFactory;
+import org.apache.tuscany.idl.Operation;
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.ObjectFactory;
+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.TargetInvokerCreationException;
 import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.extension.AbstractComponentExtension;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.model.physical.PhysicalOperationDefinition;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 import org.apache.tuscany.spi.wire.Wire;
 
 /**
- * An {@link org.apache.tuscany.spi.component.AtomicComponent} used when registering objects directly into a composite
- *
- * @version $$Rev$$ $$Date$$
+ * An {@link org.apache.tuscany.spi.component.AtomicComponent} used when
+ * registering objects directly into a composite
+ * 
+ * @version $$Rev$$ $$Date: 2007-04-03 10:40:40 -0700 (Tue, 03 Apr
+ *          2007) $$
  */
-public class SystemSingletonAtomicComponent<S, T extends S> extends AbstractComponentExtension
-    implements AtomicComponent<T> {
+public class SingletonAtomicComponent<T> extends AbstractComponentExtension implements
+    AtomicComponent<T> {
     private T instance;
-    private List<ServiceContract> serviceContracts = new ArrayList<ServiceContract>();
+    private List<ComponentService> contracts = new ArrayList<ComponentService>();
 
-    public SystemSingletonAtomicComponent(URI name, JavaServiceContract<S> contract, T instance) {
+    public SingletonAtomicComponent(URI name, ComponentService contract, T instance) {
         super(name);
         this.instance = instance;
-        this.serviceContracts.add(contract);
+        this.contracts.add(contract);
     }
 
-    public SystemSingletonAtomicComponent(URI name, List<JavaServiceContract<?>> services, T instance) {
+    public SingletonAtomicComponent(URI name, List<ComponentService> services, T instance) {
         super(name);
         this.instance = instance;
-        for (ServiceContract<?> contract : services) {
-            serviceContracts.add(contract);
+        for (ComponentService contract : services) {
+            contracts.add(contract);
         }
     }
 
@@ -122,17 +121,12 @@
         throw new UnsupportedOperationException();
     }
 
-    public TargetInvoker createTargetInvoker(String targetName, Operation operation) {
+    public TargetInvoker createTargetInvoker(String targetName, Operation operation, boolean isCallback) {
         return null;
     }
 
-    public TargetInvoker createTargetInvoker(String targetName, PhysicalOperationDefinition operation)
-        throws TargetInvokerCreationException {
-        return null;
-    }
-
-    public List<ServiceContract> getServiceContracts() {
-        return serviceContracts;
+    public List<ComponentService> getContracts() {
+        return contracts;
     }
 
 }

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java Wed Apr  4 23:08:37 2007
@@ -28,11 +28,8 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.osoa.sca.annotations.Destroy;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Reference;
-
 import org.apache.tuscany.spi.AbstractLifecycle;
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.GroupInitializationException;
 import org.apache.tuscany.spi.component.InstanceWrapper;
@@ -43,7 +40,9 @@
 import org.apache.tuscany.spi.component.TargetDestructionException;
 import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.event.Event;
-import org.apache.tuscany.spi.model.Scope;
+import org.osoa.sca.annotations.Destroy;
+import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Reference;
 
 /**
  * Implements functionality common to scope contexts.

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java Wed Apr  4 23:08:37 2007
@@ -22,19 +22,18 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.osoa.sca.annotations.EagerInit;
-import org.osoa.sca.annotations.Service;
-
-import org.apache.tuscany.api.annotation.Monitor;
+import org.apache.tuscany.spi.Monitor;
+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.ScopeContainerMonitor;
 import org.apache.tuscany.spi.component.TargetDestructionException;
 import org.apache.tuscany.spi.component.TargetInitializationException;
 import org.apache.tuscany.spi.component.TargetNotFoundException;
 import org.apache.tuscany.spi.component.TargetResolutionException;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.model.Scope;
+import org.osoa.sca.annotations.EagerInit;
+import org.osoa.sca.annotations.Service;
 
 /**
  * A scope context which manages atomic component instances keyed by composite

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java Wed Apr  4 23:08:37 2007
@@ -20,6 +20,7 @@
 
 import java.net.URI;
 
+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.PersistenceException;
@@ -30,7 +31,6 @@
 import org.apache.tuscany.spi.component.WorkContext;
 import org.apache.tuscany.spi.event.Event;
 import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.services.store.Store;
 import org.apache.tuscany.spi.services.store.StoreExpirationEvent;
 import org.apache.tuscany.spi.services.store.StoreReadException;

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java Wed Apr  4 23:08:37 2007
@@ -24,16 +24,15 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.tuscany.core.component.event.HttpSessionEnd;
+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.ScopeContainerMonitor;
 import org.apache.tuscany.spi.component.TargetDestructionException;
 import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.component.InstanceWrapper;
 import org.apache.tuscany.spi.event.Event;
-import org.apache.tuscany.spi.model.Scope;
-
-import org.apache.tuscany.core.component.event.HttpSessionEnd;
 
 /**
  * A scope context which manages atomic component instances keyed on HTTP session

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java Wed Apr  4 23:08:37 2007
@@ -25,15 +25,14 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.tuscany.core.component.event.RequestEnd;
+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.ScopeContainerMonitor;
 import org.apache.tuscany.spi.component.TargetDestructionException;
 import org.apache.tuscany.spi.component.TargetResolutionException;
-import org.apache.tuscany.spi.component.InstanceWrapper;
 import org.apache.tuscany.spi.event.Event;
-import org.apache.tuscany.spi.model.Scope;
-
-import org.apache.tuscany.core.component.event.RequestEnd;
 
 /**
  * A scope context which manages atomic component instances keyed on the current request context

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java Wed Apr  4 23:08:37 2007
@@ -22,9 +22,9 @@
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.tuscany.spi.ObjectFactory;
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.ScopeRegistry;
-import org.apache.tuscany.spi.model.Scope;
 
 /**
  * The default implementation of a scope registry

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java Wed Apr  4 23:08:37 2007
@@ -18,17 +18,16 @@
  */
 package org.apache.tuscany.core.component.scope;
 
-import org.osoa.sca.annotations.EagerInit;
-import org.osoa.sca.annotations.Service;
-
+import org.apache.tuscany.spi.Monitor;
+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.ScopeContainerMonitor;
 import org.apache.tuscany.spi.component.TargetDestructionException;
 import org.apache.tuscany.spi.component.TargetResolutionException;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.api.annotation.Monitor;
+import org.osoa.sca.annotations.EagerInit;
+import org.osoa.sca.annotations.Service;
 
 /**
  * A scope context which manages stateless atomic component instances in a non-pooled fashion.

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=525717&r1=525716&r2=525717
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Wed Apr  4 23:08:37 2007
@@ -20,12 +20,12 @@
 
 import java.net.URI;
 import java.util.Collection;
-import javax.xml.stream.XMLInputFactory;
 
-import org.osoa.sca.annotations.Reference;
+import javax.xml.stream.XMLInputFactory;
 
-import org.apache.tuscany.api.annotation.Monitor;
 import org.apache.tuscany.core.resolver.AutowireResolver;
+import org.apache.tuscany.spi.Monitor;
+import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.builder.Builder;
 import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.builder.BuilderInstantiationException;
@@ -40,39 +40,30 @@
 import org.apache.tuscany.spi.component.ScopeRegistry;
 import org.apache.tuscany.spi.deployer.Deployer;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.loader.Loader;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.Implementation;
-import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.resolver.ResolutionException;
+import org.osoa.sca.annotations.Reference;
 
 /**
  * Default implementation of Deployer.
- *
+ * 
  * @version $Rev$ $Date$
  */
 public class DeployerImpl implements Deployer {
     private XMLInputFactory xmlFactory;
-    private Loader loader;
     private Builder builder;
     private ScopeContainerMonitor monitor;
     private AutowireResolver resolver;
     private Connector connector;
     private ComponentManager componentManager;
     private ScopeRegistry scopeRegistry;
-    
 
     public DeployerImpl(XMLInputFactory xmlFactory,
-                        Loader loader,
                         Builder builder,
                         ComponentManager componentManager,
                         AutowireResolver resolver,
                         Connector connector) {
         this.xmlFactory = xmlFactory;
         this.builder = builder;
-        this.loader = loader;
         this.componentManager = componentManager;
         this.resolver = resolver;
         this.connector = connector;
@@ -112,32 +103,26 @@
         this.scopeRegistry = scopeRegistry;
     }
 
-    public <I extends Implementation<?>> Collection<Component> deploy(Component parent,
-                                                                      ComponentDefinition<I> componentDefinition)
-        throws LoaderException, BuilderException, ResolutionException {
+    public Collection<Component> deploy(Component parent, org.apache.tuscany.assembly.Component componentDef)
+        throws BuilderException, ResolutionException {
         @SuppressWarnings("unchecked")
         ScopeContainer<URI> scopeContainer = scopeRegistry.getScopeContainer(Scope.COMPOSITE);
-        URI groupId = componentDefinition.getUri();
-        DeploymentContext deploymentContext =
-            new RootDeploymentContext(null, null, groupId, xmlFactory, scopeContainer, false);
+        URI groupId = parent != null ? parent.getUri() : URI.create("/");
+        DeploymentContext deploymentContext = new RootDeploymentContext(null, null, groupId, xmlFactory,
+                                                                        scopeContainer, false);
         // load the model
-        load(parent, componentDefinition, deploymentContext);
+        // load(parent, componentDefinition, deploymentContext);
         // resolve autowires
-        resolver.resolve(null, componentDefinition);
+        resolver.resolve(null, componentDef);
         // build runtime artifacts
-        build(parent, componentDefinition, deploymentContext);
-/*
-        // create a listener so the scope container is shutdown when the top-level composite stops
-        RuntimeEventListener listener = new RuntimeEventListener() {
-            public void onEvent(Event event) {
-                scopeContainer.onEvent(event);
-                if (event instanceof ComponentStop) {
-                    scopeContainer.stop();
-                }
-            }
-        };
-        component.addListener(listener);
-*/
+        build(parent, componentDef, deploymentContext);
+        /*
+         * // create a listener so the scope container is shutdown when the
+         * top-level composite stops RuntimeEventListener listener = new
+         * RuntimeEventListener() { public void onEvent(Event event) {
+         * scopeContainer.onEvent(event); if (event instanceof ComponentStop) {
+         * scopeContainer.stop(); } } }; component.addListener(listener);
+         */
 
         Collection<Component> components = deploymentContext.getComponents().values();
         for (Component toRegister : components) {
@@ -147,51 +132,22 @@
                 throw new BuilderInstantiationException("Error registering component", e);
             }
         }
-        connector.connect(componentDefinition);
+        connector.connect(groupId, componentDef);
         return components;
     }
-    
-    /**
-     * Load the componentDefinition type information for the componentDefinition being deployed. For a typical
-     * deployment this will result in the SCDL definition being loaded.
-     *
-     * @param componentDefinition the componentDefinition being deployed
-     * @param deploymentContext   the current deployment context
-     */
-    protected <I extends Implementation<?>> void load(Component parent,
-                                                      ComponentDefinition<I> componentDefinition,
-                                                      DeploymentContext deploymentContext) throws LoaderException {
-        loader.loadComponentType(componentDefinition.getImplementation(), deploymentContext);
-    }
-    
 
     /**
      * Build the runtime context for a loaded componentDefinition.
-     *
-     * @param parent              the context that will be the parent of the new sub-context
+     * 
+     * @param parent the context that will be the parent of the new sub-context
      * @param componentDefinition the componentDefinition being deployed
-     * @param deploymentContext   the current deployment context
+     * @param deploymentContext the current deployment context
      * @return the new runtime context
      */
-    protected <I extends Implementation<?>> SCAObject build(Component parent,
-                                                            ComponentDefinition<I> componentDefinition,
-                                                            DeploymentContext deploymentContext)
-        throws BuilderException {
+    protected SCAObject build(Component parent,
+                              org.apache.tuscany.assembly.Component componentDefinition,
+                              DeploymentContext deploymentContext) throws BuilderException {
         return builder.build(componentDefinition, deploymentContext);
-    }
-
-    /**
-     * @return the builder
-     */
-    public Builder getBuilder() {
-        return builder;
-    }
-
-    /**
-     * @return the loader
-     */
-    public Loader getLoader() {
-        return loader;
     }
 
 }



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