]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop/src/org/simantics/interop/test/GraphChanges.java
GraphComparator behavior can be customized with ObjectComparator
[simantics/interop.git] / org.simantics.interop / src / org / simantics / interop / test / GraphChanges.java
1 package org.simantics.interop.test;\r
2 \r
3 import java.util.List;\r
4 \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
12 \r
13 public class GraphChanges {\r
14         \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
20         \r
21         public GraphChanges(Resource r1, Resource r2, List<Statement> deletions, List<Statement> additions,\r
22                         List<Pair<Statement, Statement>> modifications) {\r
23                 super();\r
24                 this.r1 = r1;\r
25                 this.r2 = r2;\r
26                 this.deletions = deletions;\r
27                 this.additions = additions;\r
28                 this.modifications = modifications;\r
29         }\r
30         \r
31         public Resource getResource1() {\r
32                 return r1;\r
33         }\r
34         \r
35         public Resource getResource2() {\r
36                 return r2;\r
37         }\r
38         \r
39         public List<Statement> getAdditions() {\r
40                 return additions;\r
41         }\r
42         \r
43         public List<Statement> getDeletions() {\r
44                 return deletions;\r
45         }\r
46         \r
47         public List<Pair<Statement, Statement>> getModifications() {\r
48                 return modifications;\r
49         }\r
50         \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
59         }\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
66         }\r
67                 sb.append("Mod:\n");\r
68                 for (Pair<Statement, Statement> mod :modifications) {\r
69                         {\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
75                         }\r
76                         {\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
82                         }\r
83         }\r
84                 return sb.toString();\r
85         }\r
86 \r
87 }\r