schemacop 2.4.5 → 3.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.rubocop.yml +25 -1
  4. data/.travis.yml +3 -1
  5. data/CHANGELOG.md +32 -1
  6. data/README.md +53 -710
  7. data/README_V2.md +775 -0
  8. data/README_V3.md +1195 -0
  9. data/Rakefile +8 -12
  10. data/VERSION +1 -1
  11. data/lib/schemacop.rb +35 -36
  12. data/lib/schemacop/base_schema.rb +37 -0
  13. data/lib/schemacop/railtie.rb +10 -0
  14. data/lib/schemacop/schema.rb +1 -60
  15. data/lib/schemacop/schema2.rb +22 -0
  16. data/lib/schemacop/schema3.rb +21 -0
  17. data/lib/schemacop/scoped_env.rb +25 -13
  18. data/lib/schemacop/v2.rb +26 -0
  19. data/lib/schemacop/{caster.rb → v2/caster.rb} +16 -2
  20. data/lib/schemacop/{collector.rb → v2/collector.rb} +5 -2
  21. data/lib/schemacop/{dupper.rb → v2/dupper.rb} +1 -1
  22. data/lib/schemacop/{field_node.rb → v2/field_node.rb} +4 -3
  23. data/lib/schemacop/v2/node.rb +142 -0
  24. data/lib/schemacop/{node_resolver.rb → v2/node_resolver.rb} +1 -1
  25. data/lib/schemacop/v2/node_supporting_field.rb +70 -0
  26. data/lib/schemacop/{node_supporting_type.rb → v2/node_supporting_type.rb} +14 -11
  27. data/lib/schemacop/{node_with_block.rb → v2/node_with_block.rb} +3 -2
  28. data/lib/schemacop/v2/root_node.rb +6 -0
  29. data/lib/schemacop/v2/validator/array_validator.rb +32 -0
  30. data/lib/schemacop/{validator → v2/validator}/boolean_validator.rb +1 -1
  31. data/lib/schemacop/v2/validator/float_validator.rb +7 -0
  32. data/lib/schemacop/v2/validator/hash_validator.rb +37 -0
  33. data/lib/schemacop/v2/validator/integer_validator.rb +7 -0
  34. data/lib/schemacop/{validator → v2/validator}/nil_validator.rb +1 -1
  35. data/lib/schemacop/v2/validator/number_validator.rb +21 -0
  36. data/lib/schemacop/v2/validator/object_validator.rb +29 -0
  37. data/lib/schemacop/v2/validator/string_validator.rb +39 -0
  38. data/lib/schemacop/{validator → v2/validator}/symbol_validator.rb +1 -1
  39. data/lib/schemacop/v3.rb +45 -0
  40. data/lib/schemacop/v3/all_of_node.rb +27 -0
  41. data/lib/schemacop/v3/any_of_node.rb +28 -0
  42. data/lib/schemacop/v3/array_node.rb +218 -0
  43. data/lib/schemacop/v3/boolean_node.rb +16 -0
  44. data/lib/schemacop/v3/combination_node.rb +45 -0
  45. data/lib/schemacop/v3/context.rb +17 -0
  46. data/lib/schemacop/v3/dsl_scope.rb +46 -0
  47. data/lib/schemacop/v3/global_context.rb +114 -0
  48. data/lib/schemacop/v3/hash_node.rb +256 -0
  49. data/lib/schemacop/v3/integer_node.rb +13 -0
  50. data/lib/schemacop/v3/is_not_node.rb +32 -0
  51. data/lib/schemacop/v3/node.rb +215 -0
  52. data/lib/schemacop/v3/node_registry.rb +49 -0
  53. data/lib/schemacop/v3/number_node.rb +18 -0
  54. data/lib/schemacop/v3/numeric_node.rb +76 -0
  55. data/lib/schemacop/v3/object_node.rb +40 -0
  56. data/lib/schemacop/v3/one_of_node.rb +28 -0
  57. data/lib/schemacop/v3/reference_node.rb +49 -0
  58. data/lib/schemacop/v3/result.rb +58 -0
  59. data/lib/schemacop/v3/string_node.rb +124 -0
  60. data/lib/schemacop/v3/symbol_node.rb +13 -0
  61. data/schemacop.gemspec +24 -27
  62. data/test/lib/test_helper.rb +152 -0
  63. data/test/schemas/nested/group.rb +6 -0
  64. data/test/schemas/user.rb +7 -0
  65. data/test/unit/schemacop/v2/casting_test.rb +120 -0
  66. data/test/unit/schemacop/v2/collector_test.rb +47 -0
  67. data/test/unit/schemacop/v2/custom_check_test.rb +95 -0
  68. data/test/unit/schemacop/v2/custom_if_test.rb +97 -0
  69. data/test/unit/schemacop/v2/defaults_test.rb +95 -0
  70. data/test/unit/schemacop/v2/empty_test.rb +16 -0
  71. data/test/unit/schemacop/v2/nil_dis_allow_test.rb +43 -0
  72. data/test/unit/schemacop/v2/node_resolver_test.rb +28 -0
  73. data/test/unit/schemacop/v2/short_forms_test.rb +351 -0
  74. data/test/unit/schemacop/v2/types_test.rb +88 -0
  75. data/test/unit/schemacop/v2/validator_array_test.rb +99 -0
  76. data/test/unit/schemacop/v2/validator_boolean_test.rb +17 -0
  77. data/test/unit/schemacop/v2/validator_float_test.rb +59 -0
  78. data/test/unit/schemacop/v2/validator_hash_test.rb +95 -0
  79. data/test/unit/schemacop/v2/validator_integer_test.rb +48 -0
  80. data/test/unit/schemacop/v2/validator_nil_test.rb +15 -0
  81. data/test/unit/schemacop/v2/validator_number_test.rb +62 -0
  82. data/test/unit/schemacop/v2/validator_object_test.rb +141 -0
  83. data/test/unit/schemacop/v2/validator_string_test.rb +78 -0
  84. data/test/unit/schemacop/v2/validator_symbol_test.rb +18 -0
  85. data/test/unit/schemacop/v3/all_of_node_test.rb +198 -0
  86. data/test/unit/schemacop/v3/any_of_node_test.rb +218 -0
  87. data/test/unit/schemacop/v3/array_node_test.rb +815 -0
  88. data/test/unit/schemacop/v3/boolean_node_test.rb +126 -0
  89. data/test/unit/schemacop/v3/global_context_test.rb +164 -0
  90. data/test/unit/schemacop/v3/hash_node_test.rb +884 -0
  91. data/test/unit/schemacop/v3/integer_node_test.rb +323 -0
  92. data/test/unit/schemacop/v3/is_not_node_test.rb +173 -0
  93. data/test/unit/schemacop/v3/node_test.rb +148 -0
  94. data/test/unit/schemacop/v3/number_node_test.rb +292 -0
  95. data/test/unit/schemacop/v3/object_node_test.rb +170 -0
  96. data/test/unit/schemacop/v3/one_of_node_test.rb +187 -0
  97. data/test/unit/schemacop/v3/reference_node_test.rb +351 -0
  98. data/test/unit/schemacop/v3/string_node_test.rb +334 -0
  99. data/test/unit/schemacop/v3/symbol_node_test.rb +75 -0
  100. metadata +152 -145
  101. data/doc/Schemacop.html +0 -146
  102. data/doc/Schemacop/ArrayValidator.html +0 -329
  103. data/doc/Schemacop/BooleanValidator.html +0 -145
  104. data/doc/Schemacop/Caster.html +0 -379
  105. data/doc/Schemacop/Collector.html +0 -787
  106. data/doc/Schemacop/Dupper.html +0 -214
  107. data/doc/Schemacop/Exceptions.html +0 -115
  108. data/doc/Schemacop/Exceptions/InvalidSchemaError.html +0 -124
  109. data/doc/Schemacop/Exceptions/ValidationError.html +0 -124
  110. data/doc/Schemacop/FieldNode.html +0 -421
  111. data/doc/Schemacop/FloatValidator.html +0 -158
  112. data/doc/Schemacop/HashValidator.html +0 -293
  113. data/doc/Schemacop/IntegerValidator.html +0 -158
  114. data/doc/Schemacop/NilValidator.html +0 -145
  115. data/doc/Schemacop/Node.html +0 -1438
  116. data/doc/Schemacop/NodeResolver.html +0 -258
  117. data/doc/Schemacop/NodeSupportingField.html +0 -590
  118. data/doc/Schemacop/NodeSupportingType.html +0 -612
  119. data/doc/Schemacop/NodeWithBlock.html +0 -289
  120. data/doc/Schemacop/NumberValidator.html +0 -232
  121. data/doc/Schemacop/ObjectValidator.html +0 -298
  122. data/doc/Schemacop/RootNode.html +0 -171
  123. data/doc/Schemacop/Schema.html +0 -699
  124. data/doc/Schemacop/StringValidator.html +0 -295
  125. data/doc/Schemacop/SymbolValidator.html +0 -145
  126. data/doc/ScopedEnv.html +0 -351
  127. data/doc/_index.html +0 -379
  128. data/doc/class_list.html +0 -51
  129. data/doc/css/common.css +0 -1
  130. data/doc/css/full_list.css +0 -58
  131. data/doc/css/style.css +0 -496
  132. data/doc/file.README.html +0 -833
  133. data/doc/file_list.html +0 -56
  134. data/doc/frames.html +0 -17
  135. data/doc/index.html +0 -833
  136. data/doc/inheritance.graphml +0 -524
  137. data/doc/inheritance.pdf +0 -825
  138. data/doc/js/app.js +0 -303
  139. data/doc/js/full_list.js +0 -216
  140. data/doc/js/jquery.js +0 -4
  141. data/doc/method_list.html +0 -587
  142. data/doc/top-level-namespace.html +0 -112
  143. data/lib/schemacop/node.rb +0 -139
  144. data/lib/schemacop/node_supporting_field.rb +0 -58
  145. data/lib/schemacop/root_node.rb +0 -4
  146. data/lib/schemacop/validator/array_validator.rb +0 -30
  147. data/lib/schemacop/validator/float_validator.rb +0 -5
  148. data/lib/schemacop/validator/hash_validator.rb +0 -35
  149. data/lib/schemacop/validator/integer_validator.rb +0 -5
  150. data/lib/schemacop/validator/number_validator.rb +0 -19
  151. data/lib/schemacop/validator/object_validator.rb +0 -27
  152. data/lib/schemacop/validator/string_validator.rb +0 -37
  153. data/test/casting_test.rb +0 -90
  154. data/test/collector_test.rb +0 -45
  155. data/test/custom_check_test.rb +0 -93
  156. data/test/custom_if_test.rb +0 -95
  157. data/test/defaults_test.rb +0 -93
  158. data/test/empty_test.rb +0 -14
  159. data/test/nil_dis_allow_test.rb +0 -41
  160. data/test/node_resolver_test.rb +0 -26
  161. data/test/short_forms_test.rb +0 -349
  162. data/test/test_helper.rb +0 -13
  163. data/test/types_test.rb +0 -84
  164. data/test/validator_array_test.rb +0 -97
  165. data/test/validator_boolean_test.rb +0 -15
  166. data/test/validator_float_test.rb +0 -57
  167. data/test/validator_hash_test.rb +0 -93
  168. data/test/validator_integer_test.rb +0 -46
  169. data/test/validator_nil_test.rb +0 -13
  170. data/test/validator_number_test.rb +0 -60
  171. data/test/validator_object_test.rb +0 -139
  172. data/test/validator_string_test.rb +0 -76
  173. data/test/validator_symbol_test.rb +0 -16
@@ -1,524 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
3
- <!--Created by yEd 3.16.2.1-->
4
- <key attr.name="Description" attr.type="string" for="graph" id="d0"/>
5
- <key for="port" id="d1" yfiles.type="portgraphics"/>
6
- <key for="port" id="d2" yfiles.type="portgeometry"/>
7
- <key for="port" id="d3" yfiles.type="portuserdata"/>
8
- <key attr.name="url" attr.type="string" for="node" id="d4"/>
9
- <key attr.name="description" attr.type="string" for="node" id="d5"/>
10
- <key for="node" id="d6" yfiles.type="nodegraphics"/>
11
- <key for="graphml" id="d7" yfiles.type="resources"/>
12
- <key attr.name="url" attr.type="string" for="edge" id="d8"/>
13
- <key attr.name="description" attr.type="string" for="edge" id="d9"/>
14
- <key for="edge" id="d10" yfiles.type="edgegraphics"/>
15
- <graph edgedefault="directed" id="G">
16
- <data key="d0"/>
17
- <node id="n0">
18
- <data key="d6">
19
- <y:ShapeNode>
20
- <y:Geometry height="30.0" width="45.318359375" x="554.048955233135" y="-245.0"/>
21
- <y:Fill color="#FFCC00" transparent="false"/>
22
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
23
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="35.318359375" x="5.0" y="6.015625">Node<y:LabelModel>
24
- <y:SmartNodeLabelModel distance="4.0"/>
25
- </y:LabelModel>
26
- <y:ModelParameter>
27
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
28
- </y:ModelParameter>
29
- </y:NodeLabel>
30
- <y:Shape type="rectangle"/>
31
- </y:ShapeNode>
32
- </data>
33
- </node>
34
- <node id="n1">
35
- <data key="d6">
36
- <y:ShapeNode>
37
- <y:Geometry height="30.0" width="140.744140625" x="116.8636439732143" y="-91.0"/>
38
- <y:Fill color="#FFCC00" transparent="false"/>
39
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
40
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="130.744140625" x="5.0" y="6.015625">NodeSupportingType<y:LabelModel>
41
- <y:SmartNodeLabelModel distance="4.0"/>
42
- </y:LabelModel>
43
- <y:ModelParameter>
44
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
45
- </y:ModelParameter>
46
- </y:NodeLabel>
47
- <y:Shape type="rectangle"/>
48
- </y:ShapeNode>
49
- </data>
50
- </node>
51
- <node id="n2">
52
- <data key="d6">
53
- <y:ShapeNode>
54
- <y:Geometry height="30.0" width="100.712890625" x="20.000300719246027" y="-30.0"/>
55
- <y:Fill color="#FFCC00" transparent="false"/>
56
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
57
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="90.712890625" x="5.0" y="6.015625">ArrayValidator<y:LabelModel>
58
- <y:SmartNodeLabelModel distance="4.0"/>
59
- </y:LabelModel>
60
- <y:ModelParameter>
61
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
62
- </y:ModelParameter>
63
- </y:NodeLabel>
64
- <y:Shape type="rectangle"/>
65
- </y:ShapeNode>
66
- </data>
67
- </node>
68
- <node id="n3">
69
- <data key="d6">
70
- <y:ShapeNode>
71
- <y:Geometry height="30.0" width="116.7734375" x="734.9968129960317" y="-152.0"/>
72
- <y:Fill color="#FFCC00" transparent="false"/>
73
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
74
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="106.7734375" x="5.0" y="6.015625">BooleanValidator<y:LabelModel>
75
- <y:SmartNodeLabelModel distance="4.0"/>
76
- </y:LabelModel>
77
- <y:ModelParameter>
78
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
79
- </y:ModelParameter>
80
- </y:NodeLabel>
81
- <y:Shape type="rectangle"/>
82
- </y:ShapeNode>
83
- </data>
84
- </node>
85
- <node id="n4">
86
- <data key="d6">
87
- <y:ShapeNode>
88
- <y:Geometry height="30.0" width="97.818359375" x="665.1858599950397" y="-91.0"/>
89
- <y:Fill color="#FFCC00" transparent="false"/>
90
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
91
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="87.818359375" x="5.0" y="6.015625">FloatValidator<y:LabelModel>
92
- <y:SmartNodeLabelModel distance="4.0"/>
93
- </y:LabelModel>
94
- <y:ModelParameter>
95
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
96
- </y:ModelParameter>
97
- </y:NodeLabel>
98
- <y:Shape type="rectangle"/>
99
- </y:ShapeNode>
100
- </data>
101
- </node>
102
- <node id="n5">
103
- <data key="d6">
104
- <y:ShapeNode>
105
- <y:Geometry height="30.0" width="116.38671875" x="588.610013640873" y="-152.0"/>
106
- <y:Fill color="#FFCC00" transparent="false"/>
107
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
108
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="106.38671875" x="5.0" y="6.015625">NumberValidator<y:LabelModel>
109
- <y:SmartNodeLabelModel distance="4.0"/>
110
- </y:LabelModel>
111
- <y:ModelParameter>
112
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
113
- </y:ModelParameter>
114
- </y:NodeLabel>
115
- <y:Shape type="rectangle"/>
116
- </y:ShapeNode>
117
- </data>
118
- </node>
119
- <node id="n6">
120
- <data key="d6">
121
- <y:ShapeNode>
122
- <y:Geometry height="30.0" width="139.8828125" x="336.91375248015873" y="-91.0"/>
123
- <y:Fill color="#FFCC00" transparent="false"/>
124
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
125
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="129.8828125" x="5.0" y="6.015625">NodeSupportingField<y:LabelModel>
126
- <y:SmartNodeLabelModel distance="4.0"/>
127
- </y:LabelModel>
128
- <y:ModelParameter>
129
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
130
- </y:ModelParameter>
131
- </y:NodeLabel>
132
- <y:Shape type="rectangle"/>
133
- </y:ShapeNode>
134
- </data>
135
- </node>
136
- <node id="n7">
137
- <data key="d6">
138
- <y:ShapeNode>
139
- <y:Geometry height="30.0" width="98.416015625" x="357.64715091765873" y="-30.0"/>
140
- <y:Fill color="#FFCC00" transparent="false"/>
141
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
142
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="88.416015625" x="5.0" y="6.015625">HashValidator<y:LabelModel>
143
- <y:SmartNodeLabelModel distance="4.0"/>
144
- </y:LabelModel>
145
- <y:ModelParameter>
146
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
147
- </y:ModelParameter>
148
- </y:NodeLabel>
149
- <y:Shape type="rectangle"/>
150
- </y:ShapeNode>
151
- </data>
152
- </node>
153
- <node id="n8">
154
- <data key="d6">
155
- <y:ShapeNode>
156
- <y:Geometry height="30.0" width="111.34765625" x="523.8378782242063" y="-91.0"/>
157
- <y:Fill color="#FFCC00" transparent="false"/>
158
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
159
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="101.34765625" x="5.0" y="6.015625">IntegerValidator<y:LabelModel>
160
- <y:SmartNodeLabelModel distance="4.0"/>
161
- </y:LabelModel>
162
- <y:ModelParameter>
163
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
164
- </y:ModelParameter>
165
- </y:NodeLabel>
166
- <y:Shape type="rectangle"/>
167
- </y:ShapeNode>
168
- </data>
169
- </node>
170
- <node id="n9">
171
- <data key="d6">
172
- <y:ShapeNode>
173
- <y:Geometry height="30.0" width="103.994140625" x="454.61582651289683" y="-152.0"/>
174
- <y:Fill color="#FFCC00" transparent="false"/>
175
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
176
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="93.994140625" x="5.0" y="6.015625">StringValidator<y:LabelModel>
177
- <y:SmartNodeLabelModel distance="4.0"/>
178
- </y:LabelModel>
179
- <y:ModelParameter>
180
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
181
- </y:ModelParameter>
182
- </y:NodeLabel>
183
- <y:Shape type="rectangle"/>
184
- </y:ShapeNode>
185
- </data>
186
- </node>
187
- <node id="n10">
188
- <data key="d6">
189
- <y:ShapeNode>
190
- <y:Geometry height="30.0" width="73.888671875" x="253.75844184027778" y="-30.0"/>
191
- <y:Fill color="#FFCC00" transparent="false"/>
192
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
193
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="63.888671875" x="5.0" y="6.015625">FieldNode<y:LabelModel>
194
- <y:SmartNodeLabelModel distance="4.0"/>
195
- </y:LabelModel>
196
- <y:ModelParameter>
197
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
198
- </y:ModelParameter>
199
- </y:NodeLabel>
200
- <y:Shape type="rectangle"/>
201
- </y:ShapeNode>
202
- </data>
203
- </node>
204
- <node id="n11">
205
- <data key="d6">
206
- <y:ShapeNode>
207
- <y:Geometry height="30.0" width="105.28320312499997" x="182.06851748511906" y="-152.0"/>
208
- <y:Fill color="#FFCC00" transparent="false"/>
209
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
210
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="95.283203125" x="5.0" y="6.015625">NodeWithBlock<y:LabelModel>
211
- <y:SmartNodeLabelModel distance="4.0"/>
212
- </y:LabelModel>
213
- <y:ModelParameter>
214
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
215
- </y:ModelParameter>
216
- </y:NodeLabel>
217
- <y:Shape type="rectangle"/>
218
- </y:ShapeNode>
219
- </data>
220
- </node>
221
- <node id="n12">
222
- <data key="d6">
223
- <y:ShapeNode>
224
- <y:Geometry height="30.0" width="73.044921875" x="150.7132533482143" y="-30.0"/>
225
- <y:Fill color="#FFCC00" transparent="false"/>
226
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
227
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="63.044921875" x="5.0" y="6.015625">RootNode<y:LabelModel>
228
- <y:SmartNodeLabelModel distance="4.0"/>
229
- </y:LabelModel>
230
- <y:ModelParameter>
231
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
232
- </y:ModelParameter>
233
- </y:NodeLabel>
234
- <y:Shape type="rectangle"/>
235
- </y:ShapeNode>
236
- </data>
237
- </node>
238
- <node id="n13">
239
- <data key="d6">
240
- <y:ShapeNode>
241
- <y:Geometry height="30.0" width="62.24609375" x="739.8307229662698" y="-245.0"/>
242
- <y:Fill color="#FFCC00" transparent="false"/>
243
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
244
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="52.24609375" x="5.0" y="6.015625">Schema<y:LabelModel>
245
- <y:SmartNodeLabelModel distance="4.0"/>
246
- </y:LabelModel>
247
- <y:ModelParameter>
248
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
249
- </y:ModelParameter>
250
- </y:NodeLabel>
251
- <y:Shape type="rectangle"/>
252
- </y:ShapeNode>
253
- </data>
254
- </node>
255
- <node id="n14">
256
- <data key="d6">
257
- <y:ShapeNode>
258
- <y:Geometry height="30.0" width="80.462890625" x="629.367562624008" y="-245.0"/>
259
- <y:Fill color="#FFCC00" transparent="false"/>
260
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
261
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="70.462890625" x="5.0" y="6.015625">ScopedEnv<y:LabelModel>
262
- <y:SmartNodeLabelModel distance="4.0"/>
263
- </y:LabelModel>
264
- <y:ModelParameter>
265
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
266
- </y:ModelParameter>
267
- </y:NodeLabel>
268
- <y:Shape type="rectangle"/>
269
- </y:ShapeNode>
270
- </data>
271
- </node>
272
- <node id="n15">
273
- <data key="d6">
274
- <y:ShapeNode>
275
- <y:Geometry height="30.0" width="97.384765625" x="426.6641648065476" y="-245.0"/>
276
- <y:Fill color="#FFCC00" transparent="false"/>
277
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
278
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="87.384765625" x="5.0" y="6.015625">NodeResolver<y:LabelModel>
279
- <y:SmartNodeLabelModel distance="4.0"/>
280
- </y:LabelModel>
281
- <y:ModelParameter>
282
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
283
- </y:ModelParameter>
284
- </y:NodeLabel>
285
- <y:Shape type="rectangle"/>
286
- </y:ShapeNode>
287
- </data>
288
- </node>
289
- <node id="n16">
290
- <data key="d6">
291
- <y:ShapeNode>
292
- <y:Geometry height="30.0" width="67.349609375" x="329.3142826140873" y="-245.0"/>
293
- <y:Fill color="#FFCC00" transparent="false"/>
294
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
295
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="57.349609375" x="5.0" y="6.015625">Collector<y:LabelModel>
296
- <y:SmartNodeLabelModel distance="4.0"/>
297
- </y:LabelModel>
298
- <y:ModelParameter>
299
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
300
- </y:ModelParameter>
301
- </y:NodeLabel>
302
- <y:Shape type="rectangle"/>
303
- </y:ShapeNode>
304
- </data>
305
- </node>
306
- <node id="n17">
307
- <data key="d5"/>
308
- <data key="d6">
309
- <y:ShapeNode>
310
- <y:Geometry height="30.0" width="107.263671875" x="317.3520926339286" y="-152.0"/>
311
- <y:Fill color="#FFCC00" transparent="false"/>
312
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
313
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="97.263671875" x="5.0" y="6.015625">ObjectValidator<y:LabelModel>
314
- <y:SmartNodeLabelModel distance="4.0"/>
315
- </y:LabelModel>
316
- <y:ModelParameter>
317
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
318
- </y:ModelParameter>
319
- </y:NodeLabel>
320
- <y:Shape type="rectangle"/>
321
- </y:ShapeNode>
322
- </data>
323
- </node>
324
- <node id="n18">
325
- <data key="d5"/>
326
- <data key="d6">
327
- <y:ShapeNode>
328
- <y:Geometry height="30.0" width="83.826171875" x="881.7704458085317" y="-152.0"/>
329
- <y:Fill color="#FFCC00" transparent="false"/>
330
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
331
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="73.826171875" x="5.0" y="6.015625">NilValidator<y:LabelModel>
332
- <y:SmartNodeLabelModel distance="4.0"/>
333
- </y:LabelModel>
334
- <y:ModelParameter>
335
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
336
- </y:ModelParameter>
337
- </y:NodeLabel>
338
- <y:Shape type="rectangle"/>
339
- </y:ShapeNode>
340
- </data>
341
- </node>
342
- <edge id="e0" source="n2" target="n1">
343
- <data key="d10">
344
- <y:PolyLineEdge>
345
- <y:Path sx="0.0" sy="-15.0" tx="-46.91471354166667" ty="15.0">
346
- <y:Point x="70.35674603174603" y="-45.5"/>
347
- <y:Point x="140.32100074404764" y="-45.5"/>
348
- </y:Path>
349
- <y:LineStyle color="#000000" type="line" width="1.0"/>
350
- <y:Arrows source="none" target="standard"/>
351
- <y:BendStyle smoothed="false"/>
352
- </y:PolyLineEdge>
353
- </data>
354
- </edge>
355
- <edge id="e1" source="n3" target="n0">
356
- <data key="d10">
357
- <y:PolyLineEdge>
358
- <y:Path sx="0.0" sy="-15.0" tx="11.32958984375" ty="15.0">
359
- <y:Point x="793.3835317460317" y="-183.5"/>
360
- <y:Point x="588.037724764385" y="-183.5"/>
361
- </y:Path>
362
- <y:LineStyle color="#000000" type="line" width="1.0"/>
363
- <y:Arrows source="none" target="standard"/>
364
- <y:BendStyle smoothed="false"/>
365
- </y:PolyLineEdge>
366
- </data>
367
- </edge>
368
- <edge id="e2" source="n4" target="n5">
369
- <data key="d10">
370
- <y:PolyLineEdge>
371
- <y:Path sx="0.0" sy="-15.0" tx="29.0966796875" ty="15.0">
372
- <y:Point x="714.0950396825397" y="-106.5"/>
373
- <y:Point x="675.900052703373" y="-106.5"/>
374
- </y:Path>
375
- <y:LineStyle color="#000000" type="line" width="1.0"/>
376
- <y:Arrows source="none" target="standard"/>
377
- <y:BendStyle smoothed="false"/>
378
- </y:PolyLineEdge>
379
- </data>
380
- </edge>
381
- <edge id="e3" source="n7" target="n6">
382
- <data key="d10">
383
- <y:PolyLineEdge>
384
- <y:Path sx="0.0" sy="-15.0" tx="0.0" ty="15.0"/>
385
- <y:LineStyle color="#000000" type="line" width="1.0"/>
386
- <y:Arrows source="none" target="standard"/>
387
- <y:BendStyle smoothed="false"/>
388
- </y:PolyLineEdge>
389
- </data>
390
- </edge>
391
- <edge id="e4" source="n8" target="n5">
392
- <data key="d10">
393
- <y:PolyLineEdge>
394
- <y:Path sx="0.0" sy="-15.0" tx="-29.0966796875" ty="15.0">
395
- <y:Point x="579.5117063492063" y="-106.5"/>
396
- <y:Point x="617.706693328373" y="-106.5"/>
397
- </y:Path>
398
- <y:LineStyle color="#000000" type="line" width="1.0"/>
399
- <y:Arrows source="none" target="standard"/>
400
- <y:BendStyle smoothed="false"/>
401
- </y:PolyLineEdge>
402
- </data>
403
- </edge>
404
- <edge id="e5" source="n5" target="n0">
405
- <data key="d10">
406
- <y:PolyLineEdge>
407
- <y:Path sx="0.0" sy="-15.0" tx="3.7765299479166643" ty="15.0">
408
- <y:Point x="646.803373015873" y="-167.5"/>
409
- <y:Point x="580.4846648685516" y="-167.5"/>
410
- </y:Path>
411
- <y:LineStyle color="#000000" type="line" width="1.0"/>
412
- <y:Arrows source="none" target="standard"/>
413
- <y:BendStyle smoothed="false"/>
414
- </y:PolyLineEdge>
415
- </data>
416
- </edge>
417
- <edge id="e6" source="n9" target="n0">
418
- <data key="d10">
419
- <y:PolyLineEdge>
420
- <y:Path sx="0.0" sy="-15.0" tx="-3.776529947916668" ty="15.0">
421
- <y:Point x="506.61289682539683" y="-167.5"/>
422
- <y:Point x="572.9316049727183" y="-167.5"/>
423
- </y:Path>
424
- <y:LineStyle color="#000000" type="line" width="1.0"/>
425
- <y:Arrows source="none" target="standard"/>
426
- <y:BendStyle smoothed="false"/>
427
- </y:PolyLineEdge>
428
- </data>
429
- </edge>
430
- <edge id="e7" source="n10" target="n1">
431
- <data key="d10">
432
- <y:PolyLineEdge>
433
- <y:Path sx="0.0" sy="-15.0" tx="46.91471354166667" ty="15.0">
434
- <y:Point x="290.7027777777778" y="-45.5"/>
435
- <y:Point x="234.15042782738095" y="-45.5"/>
436
- </y:Path>
437
- <y:LineStyle color="#000000" type="line" width="1.0"/>
438
- <y:Arrows source="none" target="standard"/>
439
- <y:BendStyle smoothed="false"/>
440
- </y:PolyLineEdge>
441
- </data>
442
- </edge>
443
- <edge id="e8" source="n6" target="n11">
444
- <data key="d10">
445
- <y:PolyLineEdge>
446
- <y:Path sx="0.0" sy="-15.0" tx="26.320800781249986" ty="15.0">
447
- <y:Point x="406.85515873015873" y="-106.5"/>
448
- <y:Point x="261.03091982886906" y="-106.5"/>
449
- </y:Path>
450
- <y:LineStyle color="#000000" type="line" width="1.0"/>
451
- <y:Arrows source="none" target="standard"/>
452
- <y:BendStyle smoothed="false"/>
453
- </y:PolyLineEdge>
454
- </data>
455
- </edge>
456
- <edge id="e9" source="n1" target="n11">
457
- <data key="d10">
458
- <y:PolyLineEdge>
459
- <y:Path sx="0.0" sy="-15.0" tx="-26.320800781249993" ty="15.0">
460
- <y:Point x="187.2357142857143" y="-106.5"/>
461
- <y:Point x="208.38931826636906" y="-106.5"/>
462
- </y:Path>
463
- <y:LineStyle color="#000000" type="line" width="1.0"/>
464
- <y:Arrows source="none" target="standard"/>
465
- <y:BendStyle smoothed="false"/>
466
- </y:PolyLineEdge>
467
- </data>
468
- </edge>
469
- <edge id="e10" source="n11" target="n0">
470
- <data key="d10">
471
- <y:PolyLineEdge>
472
- <y:Path sx="0.0" sy="-15.0" tx="-18.882649739583332" ty="15.0">
473
- <y:Point x="234.71011904761906" y="-199.5"/>
474
- <y:Point x="557.8254851810516" y="-199.5"/>
475
- </y:Path>
476
- <y:LineStyle color="#000000" type="line" width="1.0"/>
477
- <y:Arrows source="none" target="standard"/>
478
- <y:BendStyle smoothed="false"/>
479
- </y:PolyLineEdge>
480
- </data>
481
- </edge>
482
- <edge id="e11" source="n12" target="n1">
483
- <data key="d10">
484
- <y:PolyLineEdge>
485
- <y:Path sx="0.0" sy="-15.0" tx="0.0" ty="15.0"/>
486
- <y:LineStyle color="#000000" type="line" width="1.0"/>
487
- <y:Arrows source="none" target="standard"/>
488
- <y:BendStyle smoothed="false"/>
489
- </y:PolyLineEdge>
490
- </data>
491
- </edge>
492
- <edge id="e12" source="n17" target="n0">
493
- <data key="d9"/>
494
- <data key="d10">
495
- <y:PolyLineEdge>
496
- <y:Path sx="0.0" sy="-15.0" tx="-11.32958984375" ty="15.0">
497
- <y:Point x="370.9839285714286" y="-183.5"/>
498
- <y:Point x="565.378545076885" y="-183.5"/>
499
- </y:Path>
500
- <y:LineStyle color="#000000" type="line" width="1.0"/>
501
- <y:Arrows source="none" target="standard"/>
502
- <y:BendStyle smoothed="false"/>
503
- </y:PolyLineEdge>
504
- </data>
505
- </edge>
506
- <edge id="e13" source="n18" target="n0">
507
- <data key="d9"/>
508
- <data key="d10">
509
- <y:PolyLineEdge>
510
- <y:Path sx="0.0" sy="-15.0" tx="18.882649739583336" ty="15.0">
511
- <y:Point x="923.6835317460317" y="-199.5"/>
512
- <y:Point x="595.5907846602183" y="-199.5"/>
513
- </y:Path>
514
- <y:LineStyle color="#000000" type="line" width="1.0"/>
515
- <y:Arrows source="none" target="standard"/>
516
- <y:BendStyle smoothed="false"/>
517
- </y:PolyLineEdge>
518
- </data>
519
- </edge>
520
- </graph>
521
- <data key="d7">
522
- <y:Resources/>
523
- </data>
524
- </graphml>