schemacop 2.4.6 → 3.0.0.rc3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.releaser_config +0 -1
  4. data/.rubocop.yml +25 -1
  5. data/.travis.yml +3 -1
  6. data/CHANGELOG.md +33 -0
  7. data/README.md +53 -710
  8. data/README_V2.md +775 -0
  9. data/README_V3.md +1197 -0
  10. data/Rakefile +8 -12
  11. data/VERSION +1 -1
  12. data/lib/schemacop.rb +35 -36
  13. data/lib/schemacop/base_schema.rb +37 -0
  14. data/lib/schemacop/railtie.rb +10 -0
  15. data/lib/schemacop/schema.rb +1 -60
  16. data/lib/schemacop/schema2.rb +22 -0
  17. data/lib/schemacop/schema3.rb +21 -0
  18. data/lib/schemacop/scoped_env.rb +25 -13
  19. data/lib/schemacop/v2.rb +25 -0
  20. data/lib/schemacop/{caster.rb → v2/caster.rb} +16 -2
  21. data/lib/schemacop/{collector.rb → v2/collector.rb} +5 -2
  22. data/lib/schemacop/{dupper.rb → v2/dupper.rb} +1 -1
  23. data/lib/schemacop/{field_node.rb → v2/field_node.rb} +4 -3
  24. data/lib/schemacop/v2/node.rb +142 -0
  25. data/lib/schemacop/{node_resolver.rb → v2/node_resolver.rb} +1 -1
  26. data/lib/schemacop/v2/node_supporting_field.rb +70 -0
  27. data/lib/schemacop/{node_supporting_type.rb → v2/node_supporting_type.rb} +8 -5
  28. data/lib/schemacop/{node_with_block.rb → v2/node_with_block.rb} +3 -2
  29. data/lib/schemacop/v2/root_node.rb +0 -0
  30. data/lib/schemacop/v2/validator/array_validator.rb +32 -0
  31. data/lib/schemacop/{validator → v2/validator}/boolean_validator.rb +1 -1
  32. data/lib/schemacop/v2/validator/float_validator.rb +7 -0
  33. data/lib/schemacop/v2/validator/hash_validator.rb +37 -0
  34. data/lib/schemacop/v2/validator/integer_validator.rb +7 -0
  35. data/lib/schemacop/{validator → v2/validator}/nil_validator.rb +1 -1
  36. data/lib/schemacop/v2/validator/number_validator.rb +21 -0
  37. data/lib/schemacop/v2/validator/object_validator.rb +29 -0
  38. data/lib/schemacop/v2/validator/string_validator.rb +39 -0
  39. data/lib/schemacop/{validator → v2/validator}/symbol_validator.rb +1 -1
  40. data/lib/schemacop/v3.rb +45 -0
  41. data/lib/schemacop/v3/all_of_node.rb +27 -0
  42. data/lib/schemacop/v3/any_of_node.rb +28 -0
  43. data/lib/schemacop/v3/array_node.rb +218 -0
  44. data/lib/schemacop/v3/boolean_node.rb +16 -0
  45. data/lib/schemacop/v3/combination_node.rb +45 -0
  46. data/lib/schemacop/v3/context.rb +17 -0
  47. data/lib/schemacop/v3/dsl_scope.rb +46 -0
  48. data/lib/schemacop/v3/global_context.rb +114 -0
  49. data/lib/schemacop/v3/hash_node.rb +258 -0
  50. data/lib/schemacop/v3/integer_node.rb +13 -0
  51. data/lib/schemacop/v3/is_not_node.rb +32 -0
  52. data/lib/schemacop/v3/node.rb +219 -0
  53. data/lib/schemacop/v3/node_registry.rb +49 -0
  54. data/lib/schemacop/v3/number_node.rb +18 -0
  55. data/lib/schemacop/v3/numeric_node.rb +76 -0
  56. data/lib/schemacop/v3/object_node.rb +40 -0
  57. data/lib/schemacop/v3/one_of_node.rb +28 -0
  58. data/lib/schemacop/v3/reference_node.rb +49 -0
  59. data/lib/schemacop/v3/result.rb +58 -0
  60. data/lib/schemacop/v3/string_node.rb +124 -0
  61. data/lib/schemacop/v3/symbol_node.rb +13 -0
  62. data/schemacop.gemspec +24 -27
  63. data/test/lib/test_helper.rb +152 -0
  64. data/test/schemas/nested/group.rb +6 -0
  65. data/test/schemas/user.rb +7 -0
  66. data/test/unit/schemacop/v2/casting_test.rb +120 -0
  67. data/test/unit/schemacop/v2/collector_test.rb +47 -0
  68. data/test/unit/schemacop/v2/custom_check_test.rb +95 -0
  69. data/test/unit/schemacop/v2/custom_if_test.rb +97 -0
  70. data/test/unit/schemacop/v2/defaults_test.rb +95 -0
  71. data/test/unit/schemacop/v2/empty_test.rb +16 -0
  72. data/test/unit/schemacop/v2/nil_dis_allow_test.rb +43 -0
  73. data/test/unit/schemacop/v2/node_resolver_test.rb +28 -0
  74. data/test/unit/schemacop/v2/short_forms_test.rb +351 -0
  75. data/test/unit/schemacop/v2/types_test.rb +88 -0
  76. data/test/unit/schemacop/v2/validator_array_test.rb +99 -0
  77. data/test/unit/schemacop/v2/validator_boolean_test.rb +17 -0
  78. data/test/unit/schemacop/v2/validator_float_test.rb +59 -0
  79. data/test/unit/schemacop/v2/validator_hash_test.rb +95 -0
  80. data/test/unit/schemacop/v2/validator_integer_test.rb +48 -0
  81. data/test/unit/schemacop/v2/validator_nil_test.rb +15 -0
  82. data/test/unit/schemacop/v2/validator_number_test.rb +62 -0
  83. data/test/unit/schemacop/v2/validator_object_test.rb +141 -0
  84. data/test/unit/schemacop/v2/validator_string_test.rb +78 -0
  85. data/test/unit/schemacop/v2/validator_symbol_test.rb +18 -0
  86. data/test/unit/schemacop/v3/all_of_node_test.rb +198 -0
  87. data/test/unit/schemacop/v3/any_of_node_test.rb +218 -0
  88. data/test/unit/schemacop/v3/array_node_test.rb +815 -0
  89. data/test/unit/schemacop/v3/boolean_node_test.rb +126 -0
  90. data/test/unit/schemacop/v3/global_context_test.rb +164 -0
  91. data/test/unit/schemacop/v3/hash_node_test.rb +884 -0
  92. data/test/unit/schemacop/v3/integer_node_test.rb +323 -0
  93. data/test/unit/schemacop/v3/is_not_node_test.rb +173 -0
  94. data/test/unit/schemacop/v3/node_test.rb +148 -0
  95. data/test/unit/schemacop/v3/number_node_test.rb +292 -0
  96. data/test/unit/schemacop/v3/object_node_test.rb +170 -0
  97. data/test/unit/schemacop/v3/one_of_node_test.rb +187 -0
  98. data/test/unit/schemacop/v3/reference_node_test.rb +351 -0
  99. data/test/unit/schemacop/v3/string_node_test.rb +334 -0
  100. data/test/unit/schemacop/v3/symbol_node_test.rb +75 -0
  101. metadata +157 -150
  102. data/doc/Schemacop.html +0 -146
  103. data/doc/Schemacop/ArrayValidator.html +0 -329
  104. data/doc/Schemacop/BooleanValidator.html +0 -145
  105. data/doc/Schemacop/Caster.html +0 -379
  106. data/doc/Schemacop/Collector.html +0 -787
  107. data/doc/Schemacop/Dupper.html +0 -214
  108. data/doc/Schemacop/Exceptions.html +0 -115
  109. data/doc/Schemacop/Exceptions/InvalidSchemaError.html +0 -124
  110. data/doc/Schemacop/Exceptions/ValidationError.html +0 -124
  111. data/doc/Schemacop/FieldNode.html +0 -421
  112. data/doc/Schemacop/FloatValidator.html +0 -158
  113. data/doc/Schemacop/HashValidator.html +0 -293
  114. data/doc/Schemacop/IntegerValidator.html +0 -158
  115. data/doc/Schemacop/NilValidator.html +0 -145
  116. data/doc/Schemacop/Node.html +0 -1438
  117. data/doc/Schemacop/NodeResolver.html +0 -258
  118. data/doc/Schemacop/NodeSupportingField.html +0 -590
  119. data/doc/Schemacop/NodeSupportingType.html +0 -612
  120. data/doc/Schemacop/NodeWithBlock.html +0 -289
  121. data/doc/Schemacop/NumberValidator.html +0 -232
  122. data/doc/Schemacop/ObjectValidator.html +0 -298
  123. data/doc/Schemacop/RootNode.html +0 -171
  124. data/doc/Schemacop/Schema.html +0 -699
  125. data/doc/Schemacop/StringValidator.html +0 -295
  126. data/doc/Schemacop/SymbolValidator.html +0 -145
  127. data/doc/ScopedEnv.html +0 -351
  128. data/doc/_index.html +0 -379
  129. data/doc/class_list.html +0 -51
  130. data/doc/css/common.css +0 -1
  131. data/doc/css/full_list.css +0 -58
  132. data/doc/css/style.css +0 -496
  133. data/doc/file.README.html +0 -833
  134. data/doc/file_list.html +0 -56
  135. data/doc/frames.html +0 -17
  136. data/doc/index.html +0 -833
  137. data/doc/inheritance.graphml +0 -524
  138. data/doc/inheritance.pdf +0 -825
  139. data/doc/js/app.js +0 -303
  140. data/doc/js/full_list.js +0 -216
  141. data/doc/js/jquery.js +0 -4
  142. data/doc/method_list.html +0 -587
  143. data/doc/top-level-namespace.html +0 -112
  144. data/lib/schemacop/node.rb +0 -139
  145. data/lib/schemacop/node_supporting_field.rb +0 -58
  146. data/lib/schemacop/root_node.rb +0 -4
  147. data/lib/schemacop/validator/array_validator.rb +0 -30
  148. data/lib/schemacop/validator/float_validator.rb +0 -5
  149. data/lib/schemacop/validator/hash_validator.rb +0 -35
  150. data/lib/schemacop/validator/integer_validator.rb +0 -5
  151. data/lib/schemacop/validator/number_validator.rb +0 -19
  152. data/lib/schemacop/validator/object_validator.rb +0 -27
  153. data/lib/schemacop/validator/string_validator.rb +0 -37
  154. data/test/casting_test.rb +0 -100
  155. data/test/collector_test.rb +0 -45
  156. data/test/custom_check_test.rb +0 -93
  157. data/test/custom_if_test.rb +0 -95
  158. data/test/defaults_test.rb +0 -93
  159. data/test/empty_test.rb +0 -14
  160. data/test/nil_dis_allow_test.rb +0 -41
  161. data/test/node_resolver_test.rb +0 -26
  162. data/test/short_forms_test.rb +0 -349
  163. data/test/test_helper.rb +0 -13
  164. data/test/types_test.rb +0 -84
  165. data/test/validator_array_test.rb +0 -97
  166. data/test/validator_boolean_test.rb +0 -15
  167. data/test/validator_float_test.rb +0 -57
  168. data/test/validator_hash_test.rb +0 -93
  169. data/test/validator_integer_test.rb +0 -46
  170. data/test/validator_nil_test.rb +0 -13
  171. data/test/validator_number_test.rb +0 -60
  172. data/test/validator_object_test.rb +0 -139
  173. data/test/validator_string_test.rb +0 -76
  174. 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>