]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.graph.compiler/src/org/simantics/graph/compiler/internal/validation/ReportCollisions.java
Small improvements to statement collision reporting.
[simantics/platform.git] / bundles / org.simantics.graph.compiler / src / org / simantics / graph / compiler / internal / validation / ReportCollisions.java
index 28a53381e3ca5f2cdac83a5be2cc9181f79ccaf5..277ddc7b16cdb876d1bcef7760467a2e08519430 100644 (file)
@@ -5,6 +5,7 @@ import java.util.Collection;
 import org.simantics.graph.compiler.GraphCompilerPreferences;\r
 import org.simantics.graph.compiler.internal.store.LocationStore;\r
 import org.simantics.graph.compiler.internal.templates.TemplateDefinitionStore;\r
+import org.simantics.graph.query.Res;\r
 import org.simantics.graph.store.GraphStore;\r
 import org.simantics.graph.store.StatementCollision;\r
 import org.simantics.ltk.Problem;\r
@@ -22,6 +23,13 @@ public class ReportCollisions implements Runnable {
                this.store = store;\r
        }\r
        \r
+       private static String abbreviateURI(Res res) {\r
+           if(res == null)\r
+               return "null";\r
+           String uri = res.toString();\r
+           return uri.replace("http://www.simantics.org/", "");\r
+       }\r
+       \r
        @Override\r
        public void run() {\r
                LocationStore locations = store.getStore(LocationStore.class);\r
@@ -41,9 +49,10 @@ public class ReportCollisions implements Runnable {
                    for(StatementCollision collision : store.statements.getCollisions()) {\r
                        problems.add(new Problem(\r
                                locations.getLocation(collision.subject), \r
-                               "The same statement is defined twice: " +\r
-                                       store.idToRes(collision.predicate) + ", " +\r
-                                       store.idToRes(collision.object)));\r
+                               "The same statement is defined " + collision.count + " times: " +\r
+                                       abbreviateURI(store.idToRes(collision.subject)) + ", " +\r
+                                       abbreviateURI(store.idToRes(collision.predicate)) + ", " +\r
+                                       abbreviateURI(store.idToRes(collision.object))));\r
                    }\r
        }\r
        \r