checkpoint
authoradam <adam@megacz.com>
Fri, 21 Jul 2006 02:33:18 +0000 (22:33 -0400)
committeradam <adam@megacz.com>
Fri, 21 Jul 2006 02:33:18 +0000 (22:33 -0400)
darcs-hash:20060721023318-5007d-1390fe391355791a8d2f1feb121d2f8e33d71a5e.gz

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());