]> gerrit.simantics Code Review - simantics/platform.git/blob - 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
1 package org.simantics.structural.synchronization.utils;\r
2 \r
3 import java.util.Collection;\r
4 \r
5 import org.simantics.structural.synchronization.protocol.ChildInfo;\r
6 import org.simantics.structural.synchronization.protocol.Connection;\r
7 import org.simantics.structural.synchronization.protocol.SerializedVariable;\r
8 import org.simantics.structural.synchronization.protocol.SynchronizationEventHandler;\r
9 import org.simantics.structural.synchronization.protocol.SynchronizationException;\r
10 \r
11 public class DiagnosticSynchronizationEventHandler implements SynchronizationEventHandler {\r
12 \r
13     int indentation;\r
14 \r
15     @Override\r
16     public void beginSynchronization() {\r
17     }\r
18 \r
19     @Override\r
20     public void endSynchronization() {\r
21     }\r
22 \r
23     @Override\r
24     public void beginComponent(String name, String typeId,\r
25             Collection<SerializedVariable> properties,\r
26             Collection<Connection> connections, Collection<ChildInfo> children)\r
27                     throws SynchronizationException {\r
28         for(int i=0;i<indentation;++i)\r
29             System.out.print("  ");\r
30         System.out.print(name);\r
31         if(typeId != null)\r
32             System.out.print(" :: " + typeId);\r
33         System.out.println();\r
34         for(SerializedVariable var : properties) {\r
35             for(int i=0;i<=indentation;++i)\r
36                 System.out.print("  ");\r
37             System.out.println(SerializedVariable.print(var, indentation*2+2));\r
38         }\r
39         for(Connection connection : connections) {\r
40             for(int i=0;i<=indentation;++i)\r
41                 System.out.print("  ");\r
42             System.out.println(connection);\r
43         }\r
44         if(!children.isEmpty()) {\r
45             for(int i=0;i<=indentation;++i)\r
46                 System.out.print("  ");\r
47             System.out.print("Children ");\r
48             if(children != null)\r
49                 System.out.println(children);\r
50         }\r
51         ++indentation;\r
52     }\r
53 \r
54     @Override\r
55     public void endComponent() {\r
56         --indentation;\r
57     }\r
58 \r
59     @Override\r
60     public void beginType(String id, Collection<SerializedVariable> properties) {\r
61         System.out.println("--- Type " + id + " --------------------------------");\r
62         for(SerializedVariable var : properties)\r
63             System.out.println(SerializedVariable.print(var, 2));\r
64     }\r
65 \r
66     @Override\r
67     public void endType() {\r
68         System.out.println("----------------------------------------------------");\r
69     }\r
70 \r
71     @Override\r
72     public void reportProblem(String description) {\r
73         System.err.println(description);\r
74     }\r
75 \r
76     @Override\r
77     public void reportProblem(String description, Exception e) {\r
78         System.err.println(description);\r
79         e.printStackTrace();\r
80     }\r
81 \r
82 }\r