From c11d800db46ab42e99d7837427dd07dccaffc66a Mon Sep 17 00:00:00 2001 From: rfeng Date: Sat, 13 Feb 2010 01:19:32 +0000 Subject: Start to make extension points/extensions configurable from NodeFactory/ServiceDiscovery git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@909678 13f79535-47bb-0310-9956-ffa450edef68 --- .../tuscany/sca/node/impl/NodeFactoryImpl.java | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'sca-java-2.x/trunk/modules/node-impl/src/main') diff --git a/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java b/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java index 32aaf91b23..20984a9d6b 100644 --- a/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java +++ b/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java @@ -67,6 +67,7 @@ import org.apache.tuscany.sca.core.invocation.ExtensibleProxyFactory; import org.apache.tuscany.sca.core.invocation.ProxyFactory; import org.apache.tuscany.sca.core.invocation.ProxyFactoryExtensionPoint; import org.apache.tuscany.sca.deployment.Deployer; +import org.apache.tuscany.sca.extensibility.ServiceDiscovery; import org.apache.tuscany.sca.monitor.Monitor; import org.apache.tuscany.sca.monitor.MonitorFactory; import org.apache.tuscany.sca.monitor.Problem; @@ -210,6 +211,11 @@ public class NodeFactoryImpl extends NodeFactory { } public ExtensionPointRegistry getExtensionPoints() { + if (registry == null) { + // Create extension point registry + registry = createExtensionPointRegistry(); + registry.start(); + } return registry; } @@ -219,11 +225,7 @@ public class NodeFactoryImpl extends NodeFactory { } long start = currentTimeMillis(); - if (registry == null) { - // Create extension point registry - registry = createExtensionPointRegistry(); - registry.start(); - } + getExtensionPoints(); // Use the runtime-enabled assembly factory FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class); @@ -461,5 +463,14 @@ public class NodeFactoryImpl extends NodeFactory { return buf.toString(); } } + + @Override + protected void configure(Map> attributes) { + ServiceDiscovery discovery = getExtensionPoints().getServiceDiscovery(); + for (Map.Entry> e : attributes.entrySet()) { + discovery.setAttribute(e.getKey(), e.getValue()); + } + super.configure(attributes); + } } -- cgit v1.2.3