X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FTopologicalBag.java;h=28166fb561fd66d4a01db4506b8e2e95ddaf1d84;hp=1b2711d4a1fade2ebb6ecfb82f278a62f2afc0bd;hb=f069d11a0bc59d63b078df8a4aa488498c4e9cc2;hpb=8c293278cc3351b872f691c0b866367747bad44a
diff --git a/src/edu/berkeley/sbp/util/TopologicalBag.java b/src/edu/berkeley/sbp/util/TopologicalBag.java
index 1b2711d..28166fb 100644
--- a/src/edu/berkeley/sbp/util/TopologicalBag.java
+++ b/src/edu/berkeley/sbp/util/TopologicalBag.java
@@ -1,3 +1,5 @@
+// Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license
+
package edu.berkeley.sbp.util;
import edu.berkeley.sbp.util.*;
import edu.berkeley.sbp.*;
@@ -12,7 +14,7 @@ import java.lang.ref.*;
//
/** a mapping from topologies over K to sets of values of type V */
-public class TopologicalBag implements MapBag,V>, VisitableMap {
+public class TopologicalBag implements MapBag,V>, VisitableMap, Serializable {
// CRUCIAL INVARIANT: keys in this hashmap MUST be disjoint or the universe will implode
private final HashMap,HashSet> h = new HashMap,HashSet>();
@@ -29,8 +31,6 @@ public class TopologicalBag implements MapBag,V>, VisitableMap<
public void putAll(Topology k, Iterable vi) { if (vi!=null) for(V v : vi) put(k, v); }
public void put(Topology t, V v) {
- // XXX hack
- if (t instanceof Atom) t = ((Atom)t).underlying();
for(Topology ht : h.keySet()) {
if (t.disjoint(ht)) continue;
if (t.containsAll(ht) && ht.containsAll(t)) {