From b76e4724a219f78dab6f096591cf363223f7ca95 Mon Sep 17 00:00:00 2001 From: rfeng Date: Mon, 5 Oct 2009 18:38:10 +0000 Subject: Further refactor the CompositeContext to be the place to hold information about the Node git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@821953 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/tuscany/sca/node/impl/CompositeContextImpl.java | 11 +++++++++-- .../main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java | 4 +++- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'java/sca/modules/node-impl/src') diff --git a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/CompositeContextImpl.java b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/CompositeContextImpl.java index 4a3366e6fb..54acece3cc 100644 --- a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/CompositeContextImpl.java +++ b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/CompositeContextImpl.java @@ -19,6 +19,7 @@ package org.apache.tuscany.sca.node.impl; +import org.apache.tuscany.sca.assembly.Composite; import org.apache.tuscany.sca.context.ComponentContextFactory; import org.apache.tuscany.sca.context.CompositeContext; import org.apache.tuscany.sca.context.ContextFactoryExtensionPoint; @@ -34,12 +35,14 @@ public class CompositeContextImpl extends CompositeContext { private final ExtensionPointRegistry extensionPointRegistry; private final EndpointRegistry endpointRegistry; private final ComponentContextFactory componentContextFactory; + private final Composite domainComposite; - public CompositeContextImpl(ExtensionPointRegistry registry, EndpointRegistry endpointRegistry) { + public CompositeContextImpl(ExtensionPointRegistry registry, EndpointRegistry endpointRegistry, Composite domainComposite) { this.extensionPointRegistry = registry; this.endpointRegistry = endpointRegistry; ContextFactoryExtensionPoint contextFactories = registry.getExtensionPoint(ContextFactoryExtensionPoint.class); this.componentContextFactory = contextFactories.getFactory(ComponentContextFactory.class); + this.domainComposite = domainComposite; } public ExtensionPointRegistry getExtensionPointRegistry() { @@ -50,10 +53,14 @@ public class CompositeContextImpl extends CompositeContext { return endpointRegistry; } - public void configureComponentContext(RuntimeComponent runtimeComponent) { + public void bindComponent(RuntimeComponent runtimeComponent) { RuntimeComponentContext componentContext = (RuntimeComponentContext)componentContextFactory.createComponentContext(this, runtimeComponent); runtimeComponent.setComponentContext(componentContext); } + public Composite getDomainComposite() { + return domainComposite; + } + } diff --git a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java index 86c693729b..aabb1c6abc 100644 --- a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java +++ b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java @@ -115,10 +115,10 @@ public class NodeImpl implements Node, Client { // FIXME: Get the endpoint registry by the Node configuration EndpointRegistry endpointRegistry = utilities.getUtility(EndpointRegistry.class); - this.compositeContext = new CompositeContextImpl(manager.extensionPoints, endpointRegistry); this.compositeActivator = utilities.getUtility(CompositeActivator.class); try { domainComposite = manager.configureNode(configuration, contributions); + this.compositeContext = new CompositeContextImpl(manager.extensionPoints, endpointRegistry, domainComposite); // Activate the composite compositeActivator.activate(domainComposite); @@ -189,6 +189,8 @@ public class NodeImpl implements Node, Client { manager.extensionPoints.getExtensionPoint(UtilityExtensionPoint.class).removeUtility(compositeActivator); this.compositeActivator = null; this.proxyFactory = null; + this.domainComposite = null; + this.compositeContext = null; ThreadMessageContext.removeMessageContext(); -- cgit v1.2.3