]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.structural.synchronization/src/org/simantics/structural/synchronization/utils/DiagnosticSynchronizationEventHandler.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.structural.synchronization / src / org / simantics / structural / synchronization / utils / DiagnosticSynchronizationEventHandler.java
diff --git a/bundles/org.simantics.structural.synchronization/src/org/simantics/structural/synchronization/utils/DiagnosticSynchronizationEventHandler.java b/bundles/org.simantics.structural.synchronization/src/org/simantics/structural/synchronization/utils/DiagnosticSynchronizationEventHandler.java
new file mode 100644 (file)
index 0000000..c343b39
--- /dev/null
@@ -0,0 +1,82 @@
+package org.simantics.structural.synchronization.utils;\r
+\r
+import java.util.Collection;\r
+\r
+import org.simantics.structural.synchronization.protocol.ChildInfo;\r
+import org.simantics.structural.synchronization.protocol.Connection;\r
+import org.simantics.structural.synchronization.protocol.SerializedVariable;\r
+import org.simantics.structural.synchronization.protocol.SynchronizationEventHandler;\r
+import org.simantics.structural.synchronization.protocol.SynchronizationException;\r
+\r
+public class DiagnosticSynchronizationEventHandler implements SynchronizationEventHandler {\r
+\r
+    int indentation;\r
+\r
+    @Override\r
+    public void beginSynchronization() {\r
+    }\r
+\r
+    @Override\r
+    public void endSynchronization() {\r
+    }\r
+\r
+    @Override\r
+    public void beginComponent(String name, String typeId,\r
+            Collection<SerializedVariable> properties,\r
+            Collection<Connection> connections, Collection<ChildInfo> children)\r
+                    throws SynchronizationException {\r
+        for(int i=0;i<indentation;++i)\r
+            System.out.print("  ");\r
+        System.out.print(name);\r
+        if(typeId != null)\r
+            System.out.print(" :: " + typeId);\r
+        System.out.println();\r
+        for(SerializedVariable var : properties) {\r
+            for(int i=0;i<=indentation;++i)\r
+                System.out.print("  ");\r
+            System.out.println(SerializedVariable.print(var, indentation*2+2));\r
+        }\r
+        for(Connection connection : connections) {\r
+            for(int i=0;i<=indentation;++i)\r
+                System.out.print("  ");\r
+            System.out.println(connection);\r
+        }\r
+        if(!children.isEmpty()) {\r
+            for(int i=0;i<=indentation;++i)\r
+                System.out.print("  ");\r
+            System.out.print("Children ");\r
+            if(children != null)\r
+                System.out.println(children);\r
+        }\r
+        ++indentation;\r
+    }\r
+\r
+    @Override\r
+    public void endComponent() {\r
+        --indentation;\r
+    }\r
+\r
+    @Override\r
+    public void beginType(String id, Collection<SerializedVariable> properties) {\r
+        System.out.println("--- Type " + id + " --------------------------------");\r
+        for(SerializedVariable var : properties)\r
+            System.out.println(SerializedVariable.print(var, 2));\r
+    }\r
+\r
+    @Override\r
+    public void endType() {\r
+        System.out.println("----------------------------------------------------");\r
+    }\r
+\r
+    @Override\r
+    public void reportProblem(String description) {\r
+        System.err.println(description);\r
+    }\r
+\r
+    @Override\r
+    public void reportProblem(String description, Exception e) {\r
+        System.err.println(description);\r
+        e.printStackTrace();\r
+    }\r
+\r
+}\r