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