X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.interop.update%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fupdate%2Fmodel%2FUpdateList.java;fp=org.simantics.interop.update%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fupdate%2Fmodel%2FUpdateList.java;h=2267ebec6f47e8ec101a39d1945e19d99aa1325a;hb=f13ae5d0bf1d136232cbce22b1a31be429ca2b54;hp=21cde66e1c461e3b4ebb70444b3cccbf3fc282f2;hpb=2be99ce499ee7a2657785fc348d5cb24d3be1650;p=simantics%2Finterop.git diff --git a/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateList.java b/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateList.java index 21cde66..2267ebe 100644 --- a/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateList.java +++ b/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateList.java @@ -14,20 +14,20 @@ import org.simantics.interop.test.GraphChanges.Modification; import org.simantics.utils.datastructures.Pair; public class UpdateList { - private HashSet changes; + private List changes; public UpdateList() { - changes = new HashSet<>(); + changes = new ArrayList<>(); } public UpdateList(Collection changes) { - this.changes = new HashSet<>(changes); + this.changes = new ArrayList<>(changes); } public UpdateList(GraphChanges graphChanges, Collection coll) { - this.changes = new HashSet<>(); + this.changes = new ArrayList<>(); for (Modification p : coll) { - changes.add(create(graphChanges, p.getLeftSub(),p.getRightSub(),new Pair(p.getLeftStm(), p.getRightStm()))); + addChange(create(graphChanges, p.getLeftSub(),p.getRightSub(),new Pair(p.getLeftStm(), p.getRightStm()))); } } @@ -40,7 +40,8 @@ public class UpdateList { } public void addChange(PropertyChange change) { - changes.add(change); + if (!changes.contains(change)) + changes.add(change); } public void removeChange(PropertyChange change) {