You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2007/03/17 22:38:06 UTC
svn commit: r519446 [3/3] - in /incubator/tuscany/java/sca:
kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/
kernel/core/src/main/java/org/apache/tuscany/core/component/scope/
kernel/core/src/main/java/org/apache/tuscany/core/deployer/ kern...
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ScopeContainer.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ScopeContainer.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ScopeContainer.java Sat Mar 17 14:38:00 2007
@@ -56,33 +56,35 @@
void removeGroup(GROUP groupId);
/**
- * Start a new context with the supplied ID.
+ * Registers a component with the scope.
*
- * @param contextId an ID that uniquely identifies the context.
+ * @param component the component to register
+ * @param groupId the id of the group to associate this component with
*/
- void startContext(KEY contextId);
+ <T> void register(AtomicComponent<T> component, GROUP groupId);
/**
- * Stop the context with the supplied ID.
+ * Unregisters a component with the scope.
*
- * @param contextId an ID that uniquely identifies the context.
+ * @param component the component to unregister
*/
- void stopContext(KEY contextId);
+ <T> void unregister(AtomicComponent<T> component);
/**
- * Registers a component with the scope.
+ * Start a new context with the supplied ID.
*
- * @param groupId the id for the group that this component is associated with
- * @param component the component to register
+ * @param contextId an ID that uniquely identifies the context.
+ * @param groupId the group of components to associate with this context
+ * @throws GroupInitializationException if an exception was thrown by any eagerInit component
*/
- void register(GROUP groupId, AtomicComponent component);
+ void startContext(KEY contextId, GROUP groupId) throws GroupInitializationException;
/**
- * Unregisters a component with the scope.
+ * Stop the context with the supplied ID.
*
- * @param component the component to unregister
+ * @param contextId an ID that uniquely identifies the context.
*/
- void unregister(AtomicComponent component);
+ void stopContext(KEY contextId);
/**
* Returns an instance wrapper associated with the current scope context, creating one if necessary
@@ -93,7 +95,7 @@
* @return the wrapper for the target instance
* @throws TargetResolutionException if there was a problem instantiating the target instance
*/
- <T> InstanceWrapper<T> getWrapper(AtomicComponent component, KEY contextId) throws TargetResolutionException;
+ <T> InstanceWrapper<T> getWrapper(AtomicComponent<T> component, KEY contextId) throws TargetResolutionException;
/**
* Returns an implementation instance associated with the current scope context.
@@ -105,7 +107,7 @@
* @return the wrapper for the target instance
* @throws TargetResolutionException if there was a problem instantiating the target instance
*/
- <T> InstanceWrapper<T> getAssociatedWrapper(AtomicComponent component, KEY contextId)
+ <T> InstanceWrapper<T> getAssociatedWrapper(AtomicComponent<T> component, KEY contextId)
throws TargetResolutionException;
/**
@@ -117,7 +119,7 @@
* @param wrapper the wrapper for the target instance being returned
* @throws TargetDestructionException if there was a problem returning the target instance
*/
- <T> void returnWrapper(AtomicComponent component, InstanceWrapper<T> wrapper, KEY contextId)
+ <T> void returnWrapper(AtomicComponent<T> component, InstanceWrapper<T> wrapper, KEY contextId)
throws TargetDestructionException;
/**
@@ -160,5 +162,5 @@
* @param component the owning component
* @throws PersistenceException if there was a problem removing the instance
*/
- void remove(AtomicComponent component) throws PersistenceException;
+ <T> void remove(AtomicComponent<T> component) throws PersistenceException;
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ScopeRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ScopeRegistry.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ScopeRegistry.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ScopeRegistry.java Sat Mar 17 14:38:00 2007
@@ -18,7 +18,6 @@
*/
package org.apache.tuscany.spi.component;
-import org.apache.tuscany.spi.ObjectFactory;
import org.apache.tuscany.spi.model.Scope;
/**
@@ -36,8 +35,5 @@
*/
ScopeContainer getScopeContainer(Scope scope);
- <T extends ScopeContainer> void registerFactory(Scope scope, ObjectFactory<T> factory);
-
- void deregisterFactory(Scope scope);
-
+ void register(ScopeContainer container);
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java Sat Mar 17 14:38:00 2007
@@ -59,7 +59,14 @@
*
* @return the ScopeContainer for the COMPOSITE scope that will be associated with this deployment unit
*/
+ @Deprecated
ScopeContainer getCompositeScope();
+
+ /**
+ * Returns the URI of the composite scope group.
+ * @return the URI of the composite scope group
+ */
+ URI getGroupId();
/**
* Returns the location of the SCDL definition being deployed.
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java Sat Mar 17 14:38:00 2007
@@ -38,24 +38,32 @@
protected Scope scope;
protected ProxyService proxyService;
protected WorkContext workContext;
+ protected final URI groupId;
private final int initLevel;
private final long maxIdleTime;
private final long maxAge;
- protected AtomicComponentExtension(URI name, ProxyService proxyService, WorkContext workContext, int initLevel) {
- this(name, proxyService, workContext, initLevel, -1, -1);
+ protected AtomicComponentExtension(URI name,
+ ProxyService proxyService,
+ WorkContext workContext,
+ URI groupId,
+ int initLevel) {
+ this(name, proxyService, workContext, groupId, initLevel, -1, -1);
}
protected AtomicComponentExtension(URI name,
ProxyService proxyService,
WorkContext workContext,
+ URI groupId,
int initLevel,
long maxIdleTime,
long maxAge) {
super(name);
+ assert groupId != null;
assert !(maxIdleTime > 0 && maxAge > 0);
this.proxyService = proxyService;
this.workContext = workContext;
+ this.groupId = groupId;
this.initLevel = initLevel;
this.maxIdleTime = maxIdleTime;
this.maxAge = maxAge;
@@ -88,7 +96,7 @@
public void start() throws CoreRuntimeException {
super.start();
- scopeContainer.register(null, this);
+ scopeContainer.register(this, groupId);
}
public void stop() {
Modified: incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java Sat Mar 17 14:38:00 2007
@@ -66,7 +66,7 @@
private static class TestExtension extends AtomicComponentExtension {
public TestExtension(URI uri) {
- super(uri, null, null, 0, -1, -1);
+ super(uri, null, null, URI.create("composite"), 0, -1, -1);
}
public TargetInvoker createTargetInvoker(String targetName, Operation operation)
Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java Sat Mar 17 14:38:00 2007
@@ -22,10 +22,12 @@
import java.util.Collection;
import org.apache.tuscany.spi.component.Component;
+import org.apache.tuscany.spi.component.GroupInitializationException;
import org.apache.tuscany.spi.deployer.Deployer;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.CompositeImplementation;
import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.services.artifact.ArtifactRepository;
import org.apache.tuscany.spi.wire.TargetInvoker;
@@ -63,9 +65,18 @@
return deployer.deploy(null, definition);
}
- public void executeTest(URI componentId, Operation<?> operation) throws Exception {
+ public void startContext(URI compositeId) throws GroupInitializationException {
+ getScopeRegistry().getScopeContainer(Scope.COMPOSITE).startContext(compositeId, compositeId);
+ }
+
+ public void executeTest(URI contextId, URI componentId, Operation<?> operation) throws Exception {
Component testComponent = getComponentManager().getComponent(componentId);
TargetInvoker targetInvoker = testComponent.createTargetInvoker("testService", operation);
- targetInvoker.invokeTarget(null, TargetInvoker.NONE);
+ getWorkContext().setIdentifier(Scope.COMPOSITE, contextId);
+ try {
+ targetInvoker.invokeTarget(null, TargetInvoker.NONE);
+ } finally {
+ getWorkContext().setIdentifier(Scope.COMPOSITE, null);
+ }
}
}
Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/SCATestSet.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/SCATestSet.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/SCATestSet.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/SCATestSet.java Sat Mar 17 14:38:00 2007
@@ -36,13 +36,19 @@
public class SCATestSet implements SurefireTestSet {
private final MavenEmbeddedRuntime runtime;
private final String name;
- private final URI uri;
+ private final URI contextId;
+ private final URI componentId;
private final Collection<? extends Operation<?>> operations;
- public SCATestSet(MavenEmbeddedRuntime runtime, String name, URI uri, Collection<? extends Operation<?>> operations) {
+ public SCATestSet(MavenEmbeddedRuntime runtime,
+ String name,
+ URI contextId,
+ URI uri,
+ Collection<? extends Operation<?>> operations) {
this.runtime = runtime;
this.name = name;
- this.uri = uri;
+ this.contextId = contextId;
+ this.componentId = uri;
this.operations = operations;
}
@@ -51,7 +57,7 @@
String operationName = operation.getName();
reporterManager.testStarting(new ReportEntry(this, operationName, name));
try {
- runtime.executeTest(uri, operation);
+ runtime.executeTest(contextId, componentId, operation);
reporterManager.testSucceeded(new ReportEntry(this, operationName, name));
} catch (Exception e) {
StackTraceWriter stw = new PojoStackTraceWriter(name, operationName, e);
Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/TuscanyITestMojo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/TuscanyITestMojo.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/TuscanyITestMojo.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/TuscanyITestMojo.java Sat Mar 17 14:38:00 2007
@@ -235,6 +235,8 @@
for (Component component : testComponent) {
component.start();
}
+
+ runtime.startContext(componentName);
} catch (Exception e) {
monitor.runError(e);
throw new MojoExecutionException("Error deploying test component " + testScdl, e);
@@ -386,6 +388,7 @@
URI uriBase) throws MojoExecutionException {
SCATestSuite suite = new SCATestSuite();
+ URI contextId = definition.getUri();
CompositeImplementation impl = definition.getImplementation();
CompositeComponentType<?,?,?> componentType = impl.getComponentType();
Map<String, ComponentDefinition<? extends Implementation<?>>> components = componentType.getComponents();
@@ -395,7 +398,7 @@
Implementation<?> implementation = junitDefinition.getImplementation();
if (ImplementationJUnit.class.isAssignableFrom(implementation.getClass())) {
URI uri = uriBase.resolve(name);
- SCATestSet testSet = createTestSet(runtime, name, uri, junitDefinition);
+ SCATestSet testSet = createTestSet(runtime, name, contextId, uri, junitDefinition);
suite.add(testSet);
}
}
@@ -404,6 +407,7 @@
protected SCATestSet createTestSet(MavenEmbeddedRuntime runtime,
String name,
+ URI contextId,
URI uri,
ComponentDefinition definition) throws MojoExecutionException {
ImplementationJUnit impl = (ImplementationJUnit) definition.getImplementation();
@@ -414,7 +418,7 @@
throw new MojoExecutionException("No testService defined on component: " + definition.getUri());
}
Map<String, ? extends Operation<?>> operations = testService.getServiceContract().getOperations();
- return new SCATestSet(runtime, name, uri, operations.values());
+ return new SCATestSet(runtime, name, contextId, uri, operations.values());
}
public interface MojoMonitor {
Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java Sat Mar 17 14:38:00 2007
@@ -89,6 +89,7 @@
configuration.setProxyService(proxyService);
configuration.setWorkContext(workContext);
configuration.setImplementationClass(implClass);
+ configuration.setGroupId(deployment.getGroupId());
// setup property injection sites
for (JavaMappedProperty<?> property : componentType.getProperties().values()) {
Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/resources/META-INF/tuscany/embeddedMaven.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/resources/META-INF/tuscany/embeddedMaven.scdl?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/resources/META-INF/tuscany/embeddedMaven.scdl (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/resources/META-INF/tuscany/embeddedMaven.scdl Sat Mar 17 14:38:00 2007
@@ -33,7 +33,7 @@
</component>
<!-- Work management -->
- <component name="workContext">
+ <component name="WorkContext">
<system:implementation.system class="org.apache.tuscany.core.component.WorkContextImpl"/>
</component>
@@ -42,11 +42,6 @@
<system:implementation.system class="org.apache.tuscany.core.wire.jdk.JDKProxyService"/>
</component>
- <!-- Scope infrastructure -->
- <component name="scopeRegistry">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ScopeRegistryImpl"/>
- </component>
-
<!-- Builder and BuilderRegistry -->
<component name="builder">
<system:implementation.system class="org.apache.tuscany.core.builder.BuilderRegistryImpl"/>
@@ -87,19 +82,21 @@
</component>
<!-- Default scopes -->
- <component name="scope.module">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.CompositeScopeObjectFactory"/>
- </component>
+<!--
<component name="scope.stateless">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeContainer"/>
</component>
+-->
+<!--
<component name="scope.request">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.RequestScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.RequestScopeContainer"/>
</component>
-
+-->
+<!--
<component name="scope.conversational">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ConversationalScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.ConversationalScopeContainer"/>
</component>
+-->
<!-- include loader configuration -->
<include name="org.apache.tuscany.core.Loader" scdlResource="org/apache/tuscany/core/loader.scdl"/>
Modified: incubator/tuscany/java/sca/runtime/itest/smoketest/src/main/java/org/apache/tuscany/sca/runtime/itest/smoketest/HelloServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/smoketest/src/main/java/org/apache/tuscany/sca/runtime/itest/smoketest/HelloServiceImpl.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/smoketest/src/main/java/org/apache/tuscany/sca/runtime/itest/smoketest/HelloServiceImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/smoketest/src/main/java/org/apache/tuscany/sca/runtime/itest/smoketest/HelloServiceImpl.java Sat Mar 17 14:38:00 2007
@@ -19,10 +19,12 @@
package org.apache.tuscany.sca.runtime.itest.smoketest;
import org.osoa.sca.annotations.Property;
+import org.osoa.sca.annotations.Scope;
/**
* @version $Rev$ $Date$
*/
+@Scope("COMPOSITE")
public class HelloServiceImpl implements HelloService {
private final String greeting;
Modified: incubator/tuscany/java/sca/runtime/itest/smoketest/src/test/java/org/apache/tuscany/sca/runtime/itest/smoketest/BasicTestComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/smoketest/src/test/java/org/apache/tuscany/sca/runtime/itest/smoketest/BasicTestComponent.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/smoketest/src/test/java/org/apache/tuscany/sca/runtime/itest/smoketest/BasicTestComponent.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/smoketest/src/test/java/org/apache/tuscany/sca/runtime/itest/smoketest/BasicTestComponent.java Sat Mar 17 14:38:00 2007
@@ -20,10 +20,12 @@
import junit.framework.TestCase;
import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
/**
* @version $Rev$ $Date$
*/
+@Scope("COMPOSITE")
public class BasicTestComponent extends TestCase {
@Reference
public HelloService hello;
Modified: incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/admin/system.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/admin/system.scdl?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/admin/system.scdl (original)
+++ incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/admin/system.scdl Sat Mar 17 14:38:00 2007
@@ -82,20 +82,24 @@
</component>
<!-- Default scopes -->
- <component name="scope.module">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.CompositeScopeObjectFactory"/>
+ <component name="scope.composite">
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.CompositeScopeContainer"/>
</component>
<component name="scope.stateless">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeContainer"/>
</component>
+<!--
<component name="scope.request">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.RequestScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.RequestScopeContainer"/>
</component>
+-->
+<!--
<component name="scope.conversational">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ConversationalScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.ConversationalScopeContainer"/>
</component>
+-->
<!-- include loader configuration -->
<include name="org.apache.tuscany.core.Loader" scdlResource="org/apache/tuscany/core/loader.scdl"/>
Modified: incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl (original)
+++ incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl Sat Mar 17 14:38:00 2007
@@ -33,7 +33,7 @@
</component>
<!-- Work management -->
- <component name="workContext">
+ <component name="WorkContext">
<system:implementation.system class="org.apache.tuscany.core.component.WorkContextImpl"/>
</component>
@@ -42,11 +42,6 @@
<system:implementation.system class="org.apache.tuscany.core.wire.jdk.JDKProxyService"/>
</component>
- <!-- Scope infrastructure -->
- <component name="scopeRegistry">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ScopeRegistryImpl"/>
- </component>
-
<!-- Store infrastructure -->
<component name="store">
<system:implementation.system class="org.apache.tuscany.core.services.store.memory.MemoryStore"/>
@@ -82,20 +77,19 @@
</component>
<!-- Default scopes -->
- <component name="scope.module">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.CompositeScopeObjectFactory"/>
- </component>
-
<component name="scope.stateless">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeContainer"/>
</component>
+<!--
<component name="scope.request">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.RequestScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.RequestScopeContainer"/>
</component>
-
+-->
+<!--
<component name="scope.conversational">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ConversationalScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.ConversationalScopeContainer"/>
</component>
+-->
<!-- include loader configuration -->
<include name="org.apache.tuscany.core.Loader" scdlResource="org/apache/tuscany/core/loader.scdl"/>
Modified: incubator/tuscany/java/sca/runtime/standalone/smoketest/src/main/java/org/apache/tuscany/sca/runtime/standalone/smoketest/HelloServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/smoketest/src/main/java/org/apache/tuscany/sca/runtime/standalone/smoketest/HelloServiceImpl.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/smoketest/src/main/java/org/apache/tuscany/sca/runtime/standalone/smoketest/HelloServiceImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/smoketest/src/main/java/org/apache/tuscany/sca/runtime/standalone/smoketest/HelloServiceImpl.java Sat Mar 17 14:38:00 2007
@@ -19,10 +19,12 @@
package org.apache.tuscany.sca.runtime.standalone.smoketest;
import org.osoa.sca.annotations.Property;
+import org.osoa.sca.annotations.Scope;
/**
* @version $Rev$ $Date$
*/
+@Scope("COMPOSITE")
public class HelloServiceImpl implements HelloService {
private final String greeting;
Modified: incubator/tuscany/java/sca/runtime/standalone/smoketest/src/main/java/org/apache/tuscany/sca/runtime/standalone/smoketest/Launched.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/smoketest/src/main/java/org/apache/tuscany/sca/runtime/standalone/smoketest/Launched.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/smoketest/src/main/java/org/apache/tuscany/sca/runtime/standalone/smoketest/Launched.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/smoketest/src/main/java/org/apache/tuscany/sca/runtime/standalone/smoketest/Launched.java Sat Mar 17 14:38:00 2007
@@ -19,10 +19,12 @@
package org.apache.tuscany.sca.runtime.standalone.smoketest;
import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
/**
* @version $Rev$ $Date$
*/
+@Scope("COMPOSITE")
public class Launched {
private HelloService hello;
Modified: incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java Sat Mar 17 14:38:00 2007
@@ -26,6 +26,8 @@
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.TargetInvokerCreationException;
+import org.apache.tuscany.spi.component.ScopeRegistry;
+import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.implementation.java.JavaMappedService;
import org.apache.tuscany.spi.implementation.java.PojoComponentType;
import org.apache.tuscany.spi.model.ComponentDefinition;
@@ -33,6 +35,7 @@
import org.apache.tuscany.spi.model.CompositeImplementation;
import org.apache.tuscany.spi.model.Implementation;
import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.wire.TargetInvoker;
import org.apache.tuscany.core.monitor.JavaLoggingMonitorFactory;
@@ -80,7 +83,16 @@
for (Component component : components) {
component.start();
}
- return run(impl, args, compositeBase);
+ ScopeRegistry scopeRegistry = getScopeRegistry();
+ ScopeContainer<URI, URI> container = scopeRegistry.getScopeContainer(Scope.COMPOSITE);
+ container.startContext(compositeUri, compositeUri);
+ getWorkContext().setIdentifier(Scope.COMPOSITE, compositeUri);
+ try {
+ return run(impl, args, compositeBase);
+ } finally {
+ container.stopContext(compositeUri);
+ getWorkContext().setIdentifier(Scope.COMPOSITE, null);
+ }
} catch (Exception e) {
monitor.runError(e);
}
Modified: incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/implementation/launched/LaunchedComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/implementation/launched/LaunchedComponentBuilder.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/implementation/launched/LaunchedComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/implementation/launched/LaunchedComponentBuilder.java Sat Mar 17 14:38:00 2007
@@ -94,6 +94,7 @@
configuration.setProxyService(proxyService);
configuration.setWorkContext(workContext);
configuration.setImplementationClass(implClass);
+ configuration.setGroupId(deployment.getGroupId());
// setup property injection sites
for (JavaMappedProperty<?> property : componentType.getProperties().values()) {
Modified: incubator/tuscany/java/sca/runtime/webapp/smoketest/src/main/java/org/apache/tuscany/sca/runtime/webapp/smoketest/HelloServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/smoketest/src/main/java/org/apache/tuscany/sca/runtime/webapp/smoketest/HelloServiceImpl.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/smoketest/src/main/java/org/apache/tuscany/sca/runtime/webapp/smoketest/HelloServiceImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/smoketest/src/main/java/org/apache/tuscany/sca/runtime/webapp/smoketest/HelloServiceImpl.java Sat Mar 17 14:38:00 2007
@@ -19,10 +19,12 @@
package org.apache.tuscany.sca.runtime.webapp.smoketest;
import org.osoa.sca.annotations.Property;
+import org.osoa.sca.annotations.Scope;
/**
* @version $Rev$ $Date$
*/
+@Scope("COMPOSITE")
public class HelloServiceImpl implements HelloService {
private final String greeting;
Modified: incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java Sat Mar 17 14:38:00 2007
@@ -32,9 +32,13 @@
import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.ComponentException;
+import org.apache.tuscany.spi.component.ScopeRegistry;
+import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.GroupInitializationException;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.CompositeImplementation;
+import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.resolver.ResolutionException;
/**
@@ -132,8 +136,16 @@
component.start();
}
- compositeId = URI.create(compositeId.toString()+'/');
- componentId = compositeId.resolve(componentId);
+ try {
+ ScopeRegistry scopeRegistry = getScopeRegistry();
+ ScopeContainer<URI, URI> container = scopeRegistry.getScopeContainer(Scope.COMPOSITE);
+ container.startContext(compositeId, compositeId);
+ getWorkContext().setIdentifier(Scope.COMPOSITE, compositeId);
+ } catch (GroupInitializationException e) {
+ throw new InitializationException(e);
+ }
+
+ componentId = URI.create(compositeId.toString()+'/').resolve(componentId);
Component component = getComponentManager().getComponent(componentId);
if (component == null) {
throw new TuscanyInitException("No component found with id " + componentId, componentId.toString());
Modified: incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/implementation/webapp/WebappBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/implementation/webapp/WebappBuilder.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/implementation/webapp/WebappBuilder.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/implementation/webapp/WebappBuilder.java Sat Mar 17 14:38:00 2007
@@ -60,6 +60,6 @@
referenceTypes.put(name, type);
}
- return new WebappComponent(uri, proxyService, workContext, attributes, referenceTypes);
+ return new WebappComponent(uri, proxyService, workContext, context.getGroupId(), attributes, referenceTypes);
}
}
Modified: incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/implementation/webapp/WebappComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/implementation/webapp/WebappComponent.java?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/implementation/webapp/WebappComponent.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/implementation/webapp/WebappComponent.java Sat Mar 17 14:38:00 2007
@@ -59,9 +59,10 @@
public WebappComponent(URI name,
ProxyService proxyService,
WorkContext workContext,
+ URI groupId,
Map<String, ObjectFactory<?>> attributes,
Map<String, Class<?>> referenceTypes) {
- super(name, proxyService, workContext, 0, 0, 0);
+ super(name, proxyService, workContext, groupId, 0, 0, 0);
this.propertyFactories = attributes;
this.referenceTypes = referenceTypes;
referenceFactories = new ConcurrentHashMap<String, Wire>(referenceTypes.size());
Modified: incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl?view=diff&rev=519446&r1=519445&r2=519446
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl (original)
+++ incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl Sat Mar 17 14:38:00 2007
@@ -33,7 +33,7 @@
</component>
<!-- Work management -->
- <component name="workContext">
+ <component name="WorkContext">
<system:implementation.system class="org.apache.tuscany.core.component.WorkContextImpl"/>
</component>
@@ -42,11 +42,6 @@
<system:implementation.system class="org.apache.tuscany.core.wire.jdk.JDKProxyService"/>
</component>
- <!-- Scope infrastructure -->
- <component name="scopeRegistry">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ScopeRegistryImpl"/>
- </component>
-
<!-- Builder and BuilderRegistry -->
<component name="builder">
<system:implementation.system class="org.apache.tuscany.core.builder.BuilderRegistryImpl"/>
@@ -87,25 +82,29 @@
</component>
<!-- Default scopes -->
- <component name="scope.module">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.CompositeScopeObjectFactory"/>
- </component>
-
+<!--
<component name="scope.stateless">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeContainer"/>
</component>
+-->
+<!--
<component name="scope.httpsession">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.HttpSessionScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.HttpSessionScopeContainer"/>
</component>
+-->
+<!--
<component name="scope.request">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.RequestScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.RequestScopeContainer"/>
</component>
+-->
+<!--
<component name="scope.conversational">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ConversationalScopeObjectFactory"/>
+ <system:implementation.system class="org.apache.tuscany.core.component.scope.ConversationalScopeContainer"/>
</component>
+-->
<!-- include loader configuration -->
<include name="org.apache.tuscany.launcher.Loader" scdlResource="org/apache/tuscany/core/loader.scdl"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org