X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FTopologicalBag.java;h=cdbe976ae06e969ea54954940a2c4f7dbf717cf7;hp=2a1bb53a0c2fb0ba1001ecd70f1e3a216e02d0fa;hb=c4431d19cc5ddaae29d22c8c56366b53b0bad352;hpb=0516ea34996c86664928ef948013b749876b87ec diff --git a/src/edu/berkeley/sbp/util/TopologicalBag.java b/src/edu/berkeley/sbp/util/TopologicalBag.java index 2a1bb53..cdbe976 100644 --- a/src/edu/berkeley/sbp/util/TopologicalBag.java +++ b/src/edu/berkeley/sbp/util/TopologicalBag.java @@ -31,7 +31,7 @@ public class TopologicalBag implements MapBag,V> { public void put(Topology t, V v) { for(Topology ht : h.keySet()) { if (t.disjoint(ht)) continue; - if (t.equals(ht)) { + if (t.containsAll(ht) && ht.containsAll(t)) { h.get(ht).add(v); return; } @@ -91,6 +91,13 @@ public class TopologicalBag implements MapBag,V> { return false; } + public boolean has(K k) { + for(Topology t : h.keySet()) + if (t.contains(k) && !h.get(t).isEmpty()) + return true; + return false; + } + private HashMap> cache = new HashMap>(); public Iterable getAll(Topology k) { return h.get(k); } public Iterable get(K k) {