X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FDefaultScope.java;h=51949ca1570df5dd755a905edb1a4e5049a92a71;hb=726e168d04552a09ddaf52c2ecacdc886fb75dc0;hp=b57f51f64f01a04d743f626fc6e90fd00fae4c39;hpb=9cd3686a90a0a75ef52ec190bcd445bc3a777e7e;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/core/DefaultScope.java b/system/general/src/main/java/org/wamblee/system/core/DefaultScope.java index b57f51f6..51949ca1 100644 --- a/system/general/src/main/java/org/wamblee/system/core/DefaultScope.java +++ b/system/general/src/main/java/org/wamblee/system/core/DefaultScope.java @@ -17,14 +17,15 @@ package org.wamblee.system.core; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.TreeMap; +import java.util.UUID; public class DefaultScope implements Scope { private List _parents; - private int _count; private Map _properties; private Map _runtimes; private Map _provided; @@ -41,10 +42,9 @@ public class DefaultScope implements Scope { public DefaultScope(ProvidedInterface[] aExternallyProvided, List aParent) { _parents = new ArrayList(aParent); - _count = 0; - _properties = new TreeMap(); - _runtimes = new TreeMap(); - _provided = new TreeMap(); + _properties = new HashMap(); + _runtimes = new HashMap(); + _provided = new HashMap(); _externallyProvided = aExternallyProvided; } @@ -65,18 +65,23 @@ public class DefaultScope implements Scope { @Override public void addRuntime(Component aComponent, Object aRuntime) { - _runtimes.put(aComponent.getQualifiedName(), aRuntime); + _runtimes.put(aComponent.getName(), aRuntime); } @Override public Object getRuntime(Component aComponent) { - return _runtimes.get(aComponent.getQualifiedName()); + return _runtimes.get(aComponent.getName()); + } + + @Override + public Object getRuntime(String aName) { + return _runtimes.get(aName); } @Override synchronized public void publishInterface(ProvidedInterface aInterface, Object aImplementation) { - String id = "" + _count++; + String id = UUID.randomUUID().toString(); _provided.put(id, new ProvidedInterfaceImplementation(aInterface, aImplementation)); aInterface.setUniqueId(id);