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;h=8679a3b3a399bf5be50f3f660554515c4690358b;hb=refs%2Fchanges%2F00%2F4900%2F1;hp=beb0e431e9216eae79eabd864436cc7ba1c610da;hpb=ed79a91bdd86658d28be3d50322a0d4d8cff98dc;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 beb0e43..8679a3b 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 @@ -10,37 +10,38 @@ import org.simantics.db.Resource; import org.simantics.db.Statement; import org.simantics.db.exception.DatabaseException; import org.simantics.interop.test.GraphChanges; -import org.simantics.interop.update.model.ModelUpdate.ChangeFilter; +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<>(); - for (Pair p : coll) { - changes.add(create(graphChanges, p)); + public UpdateList(GraphChanges graphChanges, Collection coll) { + this.changes = new ArrayList<>(); + for (Modification p : coll) { + addChange(create(graphChanges, p.getLeftSub(),p.getRightSub(),new Pair(p.getLeftStm(), p.getRightStm()))); } } - protected PropertyChange create(GraphChanges changes, Pair change) { - return new PropertyChange(changes, change); + protected PropertyChange create(GraphChanges changes, Resource left, Resource right, Pair change) { + return new PropertyChange(changes, left,right, change); } - public Collection getChanges() { + public List getChanges() { return changes; } public void addChange(PropertyChange change) { - changes.add(change); + if (!changes.contains(change)) + changes.add(change); } public void removeChange(PropertyChange change) {