checkpoint
[sbp.git] / src / edu / berkeley / sbp / util / TopologicalBag.java
index 6e73681..1b2711d 100644 (file)
@@ -29,6 +29,8 @@ public class TopologicalBag<K,V> implements MapBag<Topology<K>,V>, VisitableMap<
 
     public void putAll(Topology<K> k, Iterable<V> vi) { if (vi!=null) for(V v : vi) put(k, v); }
     public void put(Topology<K> t, V v) {
+            // XXX hack
+            if (t instanceof Atom) t = ((Atom)t).underlying();
         for(Topology<K> ht : h.keySet()) {
             if (t.disjoint(ht)) continue;
             if (t.containsAll(ht) && ht.containsAll(t)) {
@@ -144,8 +146,6 @@ public class TopologicalBag<K,V> implements MapBag<Topology<K>,V>, VisitableMap<
             for(V vv : h.get(t)) al.add(vv);
             Object[] vs = new Object[al.size()];
             al.toArray(vs);
-            // XXX hack
-            if (t instanceof Atom) t = ((Atom)t).underlying();
             IntegerTopology it = (IntegerTopology)t;
             for(Range r : it.getRanges()) {
                 min_.add(r.isMinNegInf() ? Long.MIN_VALUE : r.getMin());