1 package org.simantics.interop.test;
\r
3 import java.util.List;
\r
5 import org.simantics.db.ReadGraph;
\r
6 import org.simantics.db.Resource;
\r
7 import org.simantics.db.Statement;
\r
8 import org.simantics.db.common.utils.NameUtils;
\r
9 import org.simantics.db.exception.ServiceException;
\r
10 import org.simantics.db.exception.ValidationException;
\r
11 import org.simantics.utils.datastructures.Pair;
\r
13 public class GraphChanges {
\r
15 private Resource r1;
\r
16 private Resource r2;
\r
17 private List<Statement> deletions;
\r
18 private List<Statement> additions;
\r
19 private List<Pair<Statement,Statement>> modifications;
\r
21 public GraphChanges(Resource r1, Resource r2, List<Statement> deletions, List<Statement> additions,
\r
22 List<Pair<Statement, Statement>> modifications) {
\r
26 this.deletions = deletions;
\r
27 this.additions = additions;
\r
28 this.modifications = modifications;
\r
31 public Resource getResource1() {
\r
35 public Resource getResource2() {
\r
39 public List<Statement> getAdditions() {
\r
43 public List<Statement> getDeletions() {
\r
47 public List<Pair<Statement, Statement>> getModifications() {
\r
48 return modifications;
\r
51 public String toString(ReadGraph graph) throws ValidationException, ServiceException {
\r
52 StringBuilder sb = new StringBuilder();
\r
53 sb.append("Del:\n");
\r
54 for (Statement stm : deletions) {
\r
55 sb.append(NameUtils.getSafeName(graph, stm.getSubject()) + " "+
\r
56 NameUtils.getSafeName(graph, stm.getPredicate()) + " " +
\r
57 NameUtils.getSafeName(graph, stm.getObject()) + " (" +
\r
58 stm.getSubject() + " " +stm.getPredicate() + " " + stm.getObject() + ")\n");
\r
60 sb.append("Add:\n");
\r
61 for (Statement stm : additions) {
\r
62 sb.append(NameUtils.getSafeName(graph, stm.getSubject()) + " "+
\r
63 NameUtils.getSafeName(graph, stm.getPredicate()) + " " +
\r
64 NameUtils.getSafeName(graph, stm.getObject()) + " (" +
\r
65 stm.getSubject() + " " +stm.getPredicate() + " " + stm.getObject() + ")\n");
\r
67 sb.append("Mod:\n");
\r
68 for (Pair<Statement, Statement> mod :modifications) {
\r
70 Statement stm = mod.first;
\r
71 sb.append(NameUtils.getSafeName(graph, stm.getSubject()) + " "+
\r
72 NameUtils.getSafeName(graph, stm.getPredicate()) + " " +
\r
73 NameUtils.getSafeName(graph, stm.getObject()) + " (" +
\r
74 stm.getSubject() + " " +stm.getPredicate() + " " + stm.getObject() + ")\n");
\r
77 Statement stm = mod.second;
\r
78 sb.append(NameUtils.getSafeName(graph, stm.getSubject()) + " "+
\r
79 NameUtils.getSafeName(graph, stm.getPredicate()) + " " +
\r
80 NameUtils.getSafeName(graph, stm.getObject()) + " (" +
\r
81 stm.getSubject() + " " +stm.getPredicate() + " " + stm.getObject() + ")\n");
\r
84 return sb.toString();
\r