From f9c514bfc502606b4c8c7cb765276a5148910c6a Mon Sep 17 00:00:00 2001 From: antelder Date: Thu, 12 May 2011 11:54:25 +0000 Subject: Update the registry to use a single class for all the installed contribution attributes, and to correct the storing of running composites to be qualified by the contribution uri. As per a previous commit comment this is still work in progress so a little rough, but its getting closer now to show the type of thing thats needed git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1102252 13f79535-47bb-0310-9956-ffa450edef68 --- .../core/assembly/impl/EndpointRegistryImpl.java | 72 +++++++++++----------- 1 file changed, 37 insertions(+), 35 deletions(-) (limited to 'sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany') diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java index 5ac0a6bc19..f371cb5744 100644 --- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java +++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java @@ -33,13 +33,13 @@ import javax.xml.namespace.QName; import org.apache.tuscany.sca.assembly.Binding; import org.apache.tuscany.sca.assembly.Composite; import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.contribution.Export; import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.core.LifeCycleListener; import org.apache.tuscany.sca.core.UtilityExtensionPoint; import org.apache.tuscany.sca.runtime.BaseEndpointRegistry; import org.apache.tuscany.sca.runtime.EndpointListener; import org.apache.tuscany.sca.runtime.EndpointRegistry; +import org.apache.tuscany.sca.runtime.InstalledContribution; import org.apache.tuscany.sca.runtime.RuntimeProperties; /** @@ -49,10 +49,8 @@ public class EndpointRegistryImpl extends BaseEndpointRegistry implements Endpoi private final Logger logger = Logger.getLogger(EndpointRegistryImpl.class.getName()); private List endpoints = new ArrayList(); - private Map runningComposites = new HashMap(); - private Map installedContributions = new HashMap(); - private Map> installedContributionsDeployables = new HashMap>(); - private Map> installedContributionsExports = new HashMap>(); + private Map> runningComposites = new HashMap>(); + private Map installedContributions = new HashMap(); protected boolean quietLogging; @@ -165,51 +163,55 @@ public class EndpointRegistryImpl extends BaseEndpointRegistry implements Endpoi listeners.clear(); } - public void addRunningComposite(Composite composite) { - runningComposites.put(composite.getName(), composite); + public void addRunningComposite(String curi, Composite composite) { + Map cs = runningComposites.get(curi); + if (cs == null) { + cs = new HashMap(); + runningComposites.put(curi, cs); + } + cs.put(composite.getName(), composite); } - public void removeRunningComposite(QName name) { - runningComposites.remove(name); + public void removeRunningComposite(String curi, QName name) { + Map cs = runningComposites.get(curi); + if (cs != null) { + cs.remove(name); + } } - public Composite getRunningComposite(QName name) { - return runningComposites.get(name); + public Composite getRunningComposite(String curi, QName name) { + Map cs = runningComposites.get(curi); + if (cs != null) { + return cs.get(name); + } + return null; } - public List getRunningCompositeNames() { - List compositeNames = new ArrayList(); - for (Composite composite : runningComposites.values()) { - compositeNames.add(composite.getName()); - } + public Map> getRunningCompositeNames() { + Map> compositeNames = new HashMap>(); + for (String curi : runningComposites.keySet()) { + List names = new ArrayList(); + compositeNames.put(curi, names); + for (QName qn : runningComposites.get(curi).keySet()) { + names.add(qn); + } + } return compositeNames; } - public void installContribution(String uri, String url, List deployables, List exports) { - installedContributions.put(uri, url); - installedContributionsDeployables.put(uri, deployables); - installedContributionsExports.put(uri, exports); + public void installContribution(InstalledContribution ic) { + installedContributions.put(ic.getURI(), ic); + } + + public void uninstallContribution(String uri) { + installedContributions.remove(uri); } public List getInstalledContributionURIs() { return new ArrayList(installedContributions.keySet()); } - public String getInstalledContributionURL(String uri) { + public InstalledContribution getInstalledContribution(String uri) { return installedContributions.get(uri); } - - public List getInstalledContributionDeployables(String uri) { - return installedContributionsDeployables.get(uri); - } - - public List getInstalledContributionExports(String uri) { - return installedContributionsExports.get(uri); - } - - public void uninstallContribution(String uri) { - installedContributions.remove(uri); - installedContributionsDeployables.remove(uri); - installedContributionsExports.remove(uri); - } } -- cgit v1.2.3