X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FTopologicalBag.java;h=2a1bb53a0c2fb0ba1001ecd70f1e3a216e02d0fa;hp=7812a516d27a20a8803968b5211d0c94251a0f7b;hb=0516ea34996c86664928ef948013b749876b87ec;hpb=87f214f3da9f43c3ab93923313845c372f9a96be;ds=sidebyside diff --git a/src/edu/berkeley/sbp/util/TopologicalBag.java b/src/edu/berkeley/sbp/util/TopologicalBag.java index 7812a51..2a1bb53 100644 --- a/src/edu/berkeley/sbp/util/TopologicalBag.java +++ b/src/edu/berkeley/sbp/util/TopologicalBag.java @@ -27,7 +27,7 @@ public class TopologicalBag implements MapBag,V> { public void add(Topology t, V v) { put(t, v); } public void addAll(Topology k, Iterable vi) { putAll(k, vi); } - public void putAll(Topology k, Iterable vi) { for(V v : vi) put(k, v); } + public void putAll(Topology k, Iterable vi) { if (vi!=null) for(V v : vi) put(k, v); } public void put(Topology t, V v) { for(Topology ht : h.keySet()) { if (t.disjoint(ht)) continue; @@ -59,7 +59,9 @@ public class TopologicalBag implements MapBag,V> { TopologicalBag ret = new TopologicalBag(); for(Topology ht : h.keySet()) { if (ht.disjoint(t)) continue; - ret.putAll(ht.intersect(t), h.get(ht)); + Iterable it = h.get(ht); + Topology tk = ht.intersect(t); + ret.putAll(tk, it); } return ret; }