hutch-xamplr 1.3.3 → 1.3.8
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.
- data/.document +5 -0
- data/.gitignore +12 -0
- data/CHANGES.txt +9 -2
- data/COPYING +661 -0
- data/Makefile +10 -0
- data/VERSION.yml +1 -1
- data/examples/employees/final-xampl/xampl-gen.rb +38 -0
- data/examples/employees/final-xampl/xml/ddd-final-xampl.xml +86 -0
- data/examples/employees/yuml-diagrams/DDD-final-approach.graphml +393 -0
- data/examples/employees/yuml-diagrams/DDD-final-xampl-approach.graphml +265 -0
- data/examples/employees/yuml-diagrams/DDD-ideal-final-approach.graphml +357 -0
- data/examples/random-people-shared-addresses/.gitignore +2 -0
- data/examples/random-people-shared-addresses/Makefile +8 -9
- data/examples/random-people-shared-addresses/batch-load-users-profiled.rb +91 -0
- data/examples/random-people-shared-addresses/batch-load-users-safe.rb +81 -0
- data/examples/random-people-shared-addresses/batch-load-users.rb +59 -63
- data/examples/random-people/.gitignore +2 -0
- data/examples/random-people/Makefile +5 -1
- data/examples/random-people/xampl-gen.rb +3 -2
- data/examples/read-testing/.gitignore +2 -0
- data/examples/tokyo-cabinet-experimental/.gitignore +2 -0
- data/lib/xamplr/.cvsignore +1 -0
- data/lib/xamplr/templates/.cvsignore +3 -0
- data/regression/tightly-nested-mutual-mentions/Makefile +14 -0
- data/regression/tightly-nested-mutual-mentions/build.rb +31 -0
- data/regression/tightly-nested-mutual-mentions/load.rb +21 -0
- data/regression/tightly-nested-mutual-mentions/repo-keep.tgz +0 -0
- data/regression/tightly-nested-mutual-mentions/setup.rb +8 -0
- data/regression/tightly-nested-mutual-mentions/xampl-gen.rb +36 -0
- data/regression/tightly-nested-mutual-mentions/xml/stuff.xml +7 -0
- data/xamplr.gemspec +276 -0
- metadata +30 -2
data/Makefile
ADDED
data/VERSION.yml
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/usr/bin/env ruby -w -I..
|
2
|
+
|
3
|
+
if $0 == __FILE__ then
|
4
|
+
|
5
|
+
class File
|
6
|
+
def File.sjoin(*args)
|
7
|
+
File.join(args.select{ | o | o })
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
$LOAD_PATH.unshift('../../lib/')
|
12
|
+
|
13
|
+
require 'xamplr-generator'
|
14
|
+
|
15
|
+
include XamplGenerator
|
16
|
+
include Xampl
|
17
|
+
|
18
|
+
Xampl.transaction("setup", :in_memory) do
|
19
|
+
directory = File.sjoin(".", "xampl_generated_code")
|
20
|
+
|
21
|
+
options = Xampl.make(Options) do |options|
|
22
|
+
options.new_index_attribute("pid").persisted = true
|
23
|
+
options.new_index_attribute("id")
|
24
|
+
|
25
|
+
options.resolve("http://example.com/employees", "Employees", "emp")
|
26
|
+
end
|
27
|
+
|
28
|
+
filenames = Dir.glob("./xml/**/*.xml")
|
29
|
+
|
30
|
+
generator = Generator.new
|
31
|
+
generator.go(:options => options,
|
32
|
+
:filenames => filenames,
|
33
|
+
:directory => directory)
|
34
|
+
|
35
|
+
puts generator.print_elements("./generated-elements.xml")
|
36
|
+
exit!
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
<!--
|
2
|
+
[RetirementPlan]^[DefinedContribution],
|
3
|
+
[RetirementPlan]^[DefinedBenefit],
|
4
|
+
[Payroll]^[HourlyPayroll],
|
5
|
+
[Payroll]^[SalariedPayroll],
|
6
|
+
[EmployeeType]->*[RetirementPlan],
|
7
|
+
[EmployeeType]->*[Payroll],
|
8
|
+
[Employee]*->[EmployeeType],
|
9
|
+
[Department]-*[Employee]
|
10
|
+
-->
|
11
|
+
<company pid=''
|
12
|
+
xmlns="http://example.com/employees">
|
13
|
+
|
14
|
+
<payroll pid='hourly'>
|
15
|
+
<hourly-payroll/>
|
16
|
+
</payroll>
|
17
|
+
<payroll pid='salaried'>
|
18
|
+
<salaried-payroll/>
|
19
|
+
</payroll>
|
20
|
+
|
21
|
+
<retirement-plan pid='defined-contribution'>
|
22
|
+
<defined-contribution/>
|
23
|
+
</retirement-plan>
|
24
|
+
<retirement-plan pid='defined-benefit'>
|
25
|
+
<defined-benefit/>
|
26
|
+
</retirement-plan>
|
27
|
+
|
28
|
+
<employee-type pid=''
|
29
|
+
title='janitor'>
|
30
|
+
<payroll pid='hourly'/>
|
31
|
+
<retirement-plan pid='defined-contribution'/>
|
32
|
+
</employee-type>
|
33
|
+
<employee-type pid=''
|
34
|
+
title='receptionist'>
|
35
|
+
<payroll pid='hourly'/>
|
36
|
+
<retirement-plan pid='defined-contribution'/>
|
37
|
+
</employee-type>
|
38
|
+
<employee-type pid=''
|
39
|
+
title='office-admin'>
|
40
|
+
<payroll pid='hourly'/>
|
41
|
+
<retirement-plan pid='defined-benefit'/>
|
42
|
+
</employee-type>
|
43
|
+
<employee-type pid=''
|
44
|
+
title='engineer'>
|
45
|
+
<payroll pid='salaried'/>
|
46
|
+
<retirement-plan pid='defined-benefit'/>
|
47
|
+
</employee-type>
|
48
|
+
<employee-type pid=''
|
49
|
+
title='manager'>
|
50
|
+
<payroll pid='salaried'/>
|
51
|
+
<retirement-plan pid='defined-benefit'/>
|
52
|
+
</employee-type>
|
53
|
+
|
54
|
+
|
55
|
+
<department pid=''
|
56
|
+
name='widget design'>
|
57
|
+
<employee pid=''
|
58
|
+
name='tom'>
|
59
|
+
<employee-type pid=''
|
60
|
+
title='janitor'/>
|
61
|
+
</employee>
|
62
|
+
<employee pid=''
|
63
|
+
name='mary'
|
64
|
+
title='receptionist'>
|
65
|
+
<employee-type pid=''
|
66
|
+
title='receptionist'/>
|
67
|
+
</employee>
|
68
|
+
<employee pid=''
|
69
|
+
name='bob'
|
70
|
+
title='office-admin'>
|
71
|
+
<employee-type pid=''
|
72
|
+
title='office-admin'/>
|
73
|
+
</employee>
|
74
|
+
|
75
|
+
<employee pid=''
|
76
|
+
name='jack'>
|
77
|
+
<employee-type pid=''
|
78
|
+
title='engineer'/>
|
79
|
+
</employee>
|
80
|
+
<employee pid=''
|
81
|
+
name='jill'>
|
82
|
+
<employee-type pid=''
|
83
|
+
title='manager'/>
|
84
|
+
</employee>
|
85
|
+
</department>
|
86
|
+
</company>
|
@@ -0,0 +1,393 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<graphml xmlns="http://graphml.graphdrawing.org/xmlns/graphml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns/graphml http://www.yworks.com/xml/schema/graphml/1.0/ygraphml.xsd">
|
3
|
+
<key for="node" id="d0" yfiles.type="nodegraphics"/>
|
4
|
+
<key attr.name="description" attr.type="string" for="node" id="d1"/>
|
5
|
+
<key for="edge" id="d2" yfiles.type="edgegraphics"/>
|
6
|
+
<key attr.name="description" attr.type="string" for="edge" id="d3"/>
|
7
|
+
<key for="graphml" id="d4" yfiles.type="resources"/>
|
8
|
+
<graph edgedefault="directed" id="G" parse.edges="14" parse.nodes="11" parse.order="free">
|
9
|
+
<node id="n0">
|
10
|
+
<data key="d0">
|
11
|
+
<y:UMLClassNode>
|
12
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="533.9048781622024" y="233.86328125"/>
|
13
|
+
<y:Fill color="#99CCFF" transparent="false"/>
|
14
|
+
<y:BorderStyle color="#000000" type="line" width="2.0"/>
|
15
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="172.7080078125" x="28.3720703125" y="26.1328125">Employees::HourlyPayroll
|
16
|
+
</y:NodeLabel>
|
17
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="data" use3DEffect="false">
|
18
|
+
<y:AttributeLabel></y:AttributeLabel>
|
19
|
+
<y:MethodLabel></y:MethodLabel>
|
20
|
+
</y:UML>
|
21
|
+
</y:UMLClassNode>
|
22
|
+
</data>
|
23
|
+
<data key="d1">UMLClass</data>
|
24
|
+
</node>
|
25
|
+
<node id="n1">
|
26
|
+
<data key="d0">
|
27
|
+
<y:UMLClassNode>
|
28
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="663.6310686383929" y="308.484375"/>
|
29
|
+
<y:Fill color="#CCFFCC" transparent="false"/>
|
30
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
31
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="131.3974609375" x="49.02734375" y="26.1328125">Employees::Payrole
|
32
|
+
</y:NodeLabel>
|
33
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="empty" use3DEffect="false">
|
34
|
+
<y:AttributeLabel></y:AttributeLabel>
|
35
|
+
<y:MethodLabel></y:MethodLabel>
|
36
|
+
</y:UML>
|
37
|
+
</y:UMLClassNode>
|
38
|
+
</data>
|
39
|
+
<data key="d1">UMLClass</data>
|
40
|
+
</node>
|
41
|
+
<node id="n2">
|
42
|
+
<data key="d0">
|
43
|
+
<y:UMLClassNode>
|
44
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="720.9941638764881" y="129.2421875"/>
|
45
|
+
<y:Fill color="#FFCC99" transparent="false"/>
|
46
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
47
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="131.3974609375" x="49.02734375" y="26.1328125">Employees::Payrole
|
48
|
+
</y:NodeLabel>
|
49
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="mixin" use3DEffect="false">
|
50
|
+
<y:AttributeLabel></y:AttributeLabel>
|
51
|
+
<y:MethodLabel></y:MethodLabel>
|
52
|
+
</y:UML>
|
53
|
+
</y:UMLClassNode>
|
54
|
+
</data>
|
55
|
+
<data key="d1">UMLClass</data>
|
56
|
+
</node>
|
57
|
+
<node id="n3">
|
58
|
+
<data key="d0">
|
59
|
+
<y:UMLClassNode>
|
60
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="793.3572591145834" y="233.86328125"/>
|
61
|
+
<y:Fill color="#99CCFF" transparent="false"/>
|
62
|
+
<y:BorderStyle color="#000000" type="line" width="2.0"/>
|
63
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="181.3154296875" x="24.068359375" y="26.1328125">Employees::SalariedPayroll
|
64
|
+
</y:NodeLabel>
|
65
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="data" use3DEffect="false">
|
66
|
+
<y:AttributeLabel></y:AttributeLabel>
|
67
|
+
<y:MethodLabel></y:MethodLabel>
|
68
|
+
</y:UML>
|
69
|
+
</y:UMLClassNode>
|
70
|
+
</data>
|
71
|
+
<data key="d1">UMLClass</data>
|
72
|
+
</node>
|
73
|
+
<node id="n4">
|
74
|
+
<data key="d0">
|
75
|
+
<y:UMLClassNode>
|
76
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="15.000116257440482" y="233.86328125"/>
|
77
|
+
<y:Fill color="#99CCFF" transparent="false"/>
|
78
|
+
<y:BorderStyle color="#000000" type="line" width="2.0"/>
|
79
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="219.4521484375" x="5.0" y="26.1328125">Employees::DefinedContribution
|
80
|
+
</y:NodeLabel>
|
81
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="data" use3DEffect="false">
|
82
|
+
<y:AttributeLabel></y:AttributeLabel>
|
83
|
+
<y:MethodLabel></y:MethodLabel>
|
84
|
+
</y:UML>
|
85
|
+
</y:UMLClassNode>
|
86
|
+
</data>
|
87
|
+
<data key="d1">UMLClass</data>
|
88
|
+
</node>
|
89
|
+
<node id="n5">
|
90
|
+
<data key="d0">
|
91
|
+
<y:UMLClassNode>
|
92
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="144.72630673363096" y="308.484375"/>
|
93
|
+
<y:Fill color="#CCFFCC" transparent="false"/>
|
94
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
95
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="184.16552734375" x="22.643310546875" y="26.1328125">Employees::RetirementPlan
|
96
|
+
</y:NodeLabel>
|
97
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="empty" use3DEffect="false">
|
98
|
+
<y:AttributeLabel></y:AttributeLabel>
|
99
|
+
<y:MethodLabel></y:MethodLabel>
|
100
|
+
</y:UML>
|
101
|
+
</y:UMLClassNode>
|
102
|
+
</data>
|
103
|
+
<data key="d1">UMLClass</data>
|
104
|
+
</node>
|
105
|
+
<node id="n6">
|
106
|
+
<data key="d0">
|
107
|
+
<y:UMLClassNode>
|
108
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="87.36321149553572" y="129.2421875"/>
|
109
|
+
<y:Fill color="#FFCC99" transparent="false"/>
|
110
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
111
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="184.16552734375" x="22.643310546875" y="26.1328125">Employees::RetirementPlan
|
112
|
+
</y:NodeLabel>
|
113
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="mixin" use3DEffect="false">
|
114
|
+
<y:AttributeLabel></y:AttributeLabel>
|
115
|
+
<y:MethodLabel></y:MethodLabel>
|
116
|
+
</y:UML>
|
117
|
+
</y:UMLClassNode>
|
118
|
+
</data>
|
119
|
+
<data key="d1">UMLClass</data>
|
120
|
+
</node>
|
121
|
+
<node id="n7">
|
122
|
+
<data key="d0">
|
123
|
+
<y:UMLClassNode>
|
124
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="274.45249720982144" y="233.86328125"/>
|
125
|
+
<y:Fill color="#99CCFF" transparent="false"/>
|
126
|
+
<y:BorderStyle color="#000000" type="line" width="2.0"/>
|
127
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="181.302734375" x="24.07470703125" y="26.1328125">Employees::DefinedBenefit
|
128
|
+
</y:NodeLabel>
|
129
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="data" use3DEffect="false">
|
130
|
+
<y:AttributeLabel></y:AttributeLabel>
|
131
|
+
<y:MethodLabel></y:MethodLabel>
|
132
|
+
</y:UML>
|
133
|
+
</y:UMLClassNode>
|
134
|
+
</data>
|
135
|
+
<data key="d1">UMLClass</data>
|
136
|
+
</node>
|
137
|
+
<node id="n8">
|
138
|
+
<data key="d0">
|
139
|
+
<y:UMLClassNode>
|
140
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="404.1786876860119" y="129.2421875"/>
|
141
|
+
<y:Fill color="#99CCFF" transparent="false"/>
|
142
|
+
<y:BorderStyle color="#000000" type="line" width="2.0"/>
|
143
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="179.296875" x="25.07763671875" y="26.1328125">Employees::EmployeeType
|
144
|
+
</y:NodeLabel>
|
145
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="data" use3DEffect="false">
|
146
|
+
<y:AttributeLabel></y:AttributeLabel>
|
147
|
+
<y:MethodLabel></y:MethodLabel>
|
148
|
+
</y:UML>
|
149
|
+
</y:UMLClassNode>
|
150
|
+
</data>
|
151
|
+
<data key="d1">UMLClass</data>
|
152
|
+
</node>
|
153
|
+
<node id="n9">
|
154
|
+
<data key="d0">
|
155
|
+
<y:UMLClassNode>
|
156
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="404.1786876860119" y="0.0"/>
|
157
|
+
<y:Fill color="#99CCFF" transparent="false"/>
|
158
|
+
<y:BorderStyle color="#000000" type="line" width="2.0"/>
|
159
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="161.5361328125" x="33.9580078125" y="26.1328125">Employees::Department
|
160
|
+
</y:NodeLabel>
|
161
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="data" use3DEffect="false">
|
162
|
+
<y:AttributeLabel></y:AttributeLabel>
|
163
|
+
<y:MethodLabel></y:MethodLabel>
|
164
|
+
</y:UML>
|
165
|
+
</y:UMLClassNode>
|
166
|
+
</data>
|
167
|
+
<data key="d1">UMLClass</data>
|
168
|
+
</node>
|
169
|
+
<node id="n10">
|
170
|
+
<data key="d0">
|
171
|
+
<y:UMLClassNode>
|
172
|
+
<y:Geometry height="44.62109375" width="229.4521484375" x="404.1786876860119" y="64.62109375"/>
|
173
|
+
<y:Fill color="#99CCFF" transparent="false"/>
|
174
|
+
<y:BorderStyle color="#000000" type="line" width="2.0"/>
|
175
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="13" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="34.62109375" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="146.517578125" x="41.46728515625" y="26.1328125">Employees::Employee
|
176
|
+
</y:NodeLabel>
|
177
|
+
<y:UML clipContent="true" constraint="" omitDetails="false" stereotype="data" use3DEffect="false">
|
178
|
+
<y:AttributeLabel></y:AttributeLabel>
|
179
|
+
<y:MethodLabel></y:MethodLabel>
|
180
|
+
</y:UML>
|
181
|
+
</y:UMLClassNode>
|
182
|
+
</data>
|
183
|
+
<data key="d1">UMLClass</data>
|
184
|
+
</node>
|
185
|
+
<edge id="e0" source="n0" target="n1">
|
186
|
+
<data key="d2">
|
187
|
+
<y:PolyLineEdge>
|
188
|
+
<y:Path sx="0.0" sy="22.310546875" tx="-57.363037109375" ty="-22.310546875">
|
189
|
+
<y:Point x="648.6309523809524" y="293.484375"/>
|
190
|
+
<y:Point x="720.9941057477679" y="293.484375"/>
|
191
|
+
</y:Path>
|
192
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
193
|
+
<y:Arrows source="none" target="short"/>
|
194
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="34.181547619047706" y="16.970703125"></y:EdgeLabel>
|
195
|
+
<y:BendStyle smoothed="false"/>
|
196
|
+
</y:PolyLineEdge>
|
197
|
+
</data>
|
198
|
+
<data key="d3">UMLuses</data>
|
199
|
+
</edge>
|
200
|
+
<edge id="e1" source="n2" target="n0">
|
201
|
+
<data key="d2">
|
202
|
+
<y:PolyLineEdge>
|
203
|
+
<y:Path sx="-57.363037109375" sy="22.310546875" tx="57.363037109375" ty="-22.310546875">
|
204
|
+
<y:Point x="778.3572009858631" y="188.86328125"/>
|
205
|
+
<y:Point x="705.9939894903274" y="188.86328125"/>
|
206
|
+
</y:Path>
|
207
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
208
|
+
<y:Arrows source="white_delta" target="none"/>
|
209
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-38.181582496279816" y="16.970703125"></y:EdgeLabel>
|
210
|
+
<y:BendStyle smoothed="false"/>
|
211
|
+
</y:PolyLineEdge>
|
212
|
+
</data>
|
213
|
+
<data key="d3">UMLinherits</data>
|
214
|
+
</edge>
|
215
|
+
<edge id="e2" source="n3" target="n1">
|
216
|
+
<data key="d2">
|
217
|
+
<y:PolyLineEdge>
|
218
|
+
<y:Path sx="0.0" sy="22.310546875" tx="57.363037109375" ty="-22.310546875">
|
219
|
+
<y:Point x="908.0833333333334" y="293.484375"/>
|
220
|
+
<y:Point x="835.7201799665179" y="293.484375"/>
|
221
|
+
</y:Path>
|
222
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
223
|
+
<y:Arrows source="none" target="short"/>
|
224
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-38.181556338355676" y="16.970703125"></y:EdgeLabel>
|
225
|
+
<y:BendStyle smoothed="false"/>
|
226
|
+
</y:PolyLineEdge>
|
227
|
+
</data>
|
228
|
+
<data key="d3">UMLuses</data>
|
229
|
+
</edge>
|
230
|
+
<edge id="e3" source="n2" target="n3">
|
231
|
+
<data key="d2">
|
232
|
+
<y:PolyLineEdge>
|
233
|
+
<y:Path sx="57.363037109375" sy="22.310546875" tx="57.363037109375" ty="-22.310546875">
|
234
|
+
<y:Point x="893.0832752046131" y="188.86328125"/>
|
235
|
+
<y:Point x="965.4463704427084" y="188.86328125"/>
|
236
|
+
</y:Path>
|
237
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
238
|
+
<y:Arrows source="white_delta" target="none"/>
|
239
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="34.18157087053578" y="16.970703125"></y:EdgeLabel>
|
240
|
+
<y:BendStyle smoothed="false"/>
|
241
|
+
</y:PolyLineEdge>
|
242
|
+
</data>
|
243
|
+
<data key="d3">UMLinherits</data>
|
244
|
+
</edge>
|
245
|
+
<edge id="e4" source="n4" target="n5">
|
246
|
+
<data key="d2">
|
247
|
+
<y:PolyLineEdge>
|
248
|
+
<y:Path sx="0.0" sy="22.310546875" tx="-57.363037109375" ty="-22.310546875">
|
249
|
+
<y:Point x="129.72619047619048" y="293.484375"/>
|
250
|
+
<y:Point x="202.08934384300596" y="293.484375"/>
|
251
|
+
</y:Path>
|
252
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
253
|
+
<y:Arrows source="none" target="short"/>
|
254
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="34.18157087053572" y="16.970703125"></y:EdgeLabel>
|
255
|
+
<y:BendStyle smoothed="false"/>
|
256
|
+
</y:PolyLineEdge>
|
257
|
+
</data>
|
258
|
+
<data key="d3">UMLuses</data>
|
259
|
+
</edge>
|
260
|
+
<edge id="e5" source="n6" target="n4">
|
261
|
+
<data key="d2">
|
262
|
+
<y:PolyLineEdge>
|
263
|
+
<y:Path sx="-57.363037109375" sy="22.310546875" tx="-57.363037109375" ty="-22.310546875">
|
264
|
+
<y:Point x="144.72624860491072" y="188.86328125"/>
|
265
|
+
<y:Point x="72.36315336681548" y="188.86328125"/>
|
266
|
+
</y:Path>
|
267
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
268
|
+
<y:Arrows source="white_delta" target="none"/>
|
269
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-38.181541079566585" y="16.970703125"></y:EdgeLabel>
|
270
|
+
<y:BendStyle smoothed="false"/>
|
271
|
+
</y:PolyLineEdge>
|
272
|
+
</data>
|
273
|
+
<data key="d3">UMLinherits</data>
|
274
|
+
</edge>
|
275
|
+
<edge id="e6" source="n7" target="n5">
|
276
|
+
<data key="d2">
|
277
|
+
<y:PolyLineEdge>
|
278
|
+
<y:Path sx="0.0" sy="22.310546875" tx="57.363037109375" ty="-22.310546875">
|
279
|
+
<y:Point x="389.17857142857144" y="293.484375"/>
|
280
|
+
<y:Point x="316.81541806175596" y="293.484375"/>
|
281
|
+
</y:Path>
|
282
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
283
|
+
<y:Arrows source="none" target="short"/>
|
284
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-38.18156360444567" y="16.970703125"></y:EdgeLabel>
|
285
|
+
<y:BendStyle smoothed="false"/>
|
286
|
+
</y:PolyLineEdge>
|
287
|
+
</data>
|
288
|
+
<data key="d3">UMLuses</data>
|
289
|
+
</edge>
|
290
|
+
<edge id="e7" source="n6" target="n7">
|
291
|
+
<data key="d2">
|
292
|
+
<y:PolyLineEdge>
|
293
|
+
<y:Path sx="57.363037109375" sy="22.310546875" tx="-57.363037109375" ty="-22.310546875">
|
294
|
+
<y:Point x="259.4523228236607" y="188.86328125"/>
|
295
|
+
<y:Point x="331.81553431919644" y="188.86328125"/>
|
296
|
+
</y:Path>
|
297
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
298
|
+
<y:Arrows source="white_delta" target="none"/>
|
299
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="34.181597028459805" y="16.970703125"></y:EdgeLabel>
|
300
|
+
<y:BendStyle smoothed="false"/>
|
301
|
+
</y:PolyLineEdge>
|
302
|
+
</data>
|
303
|
+
<data key="d3">UMLinherits</data>
|
304
|
+
</edge>
|
305
|
+
<edge id="e8" source="n8" target="n4">
|
306
|
+
<data key="d2">
|
307
|
+
<y:PolyLineEdge>
|
308
|
+
<y:Path sx="-86.0445556640625" sy="22.310546875" tx="57.363037109375" ty="-22.310546875">
|
309
|
+
<y:Point x="432.8602062406994" y="203.86328125"/>
|
310
|
+
<y:Point x="187.08922758556548" y="203.86328125"/>
|
311
|
+
</y:Path>
|
312
|
+
<y:LineStyle color="#000000" type="line" width="2.0"/>
|
313
|
+
<y:Arrows source="none" target="short"/>
|
314
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-124.88548206147692" y="31.970703125"></y:EdgeLabel>
|
315
|
+
<y:BendStyle smoothed="false"/>
|
316
|
+
</y:PolyLineEdge>
|
317
|
+
</data>
|
318
|
+
<data key="d3">UMLuses</data>
|
319
|
+
</edge>
|
320
|
+
<edge id="e9" source="n8" target="n0">
|
321
|
+
<data key="d2">
|
322
|
+
<y:PolyLineEdge>
|
323
|
+
<y:Path sx="28.6815185546875" sy="22.310546875" tx="-57.363037109375" ty="-22.310546875">
|
324
|
+
<y:Point x="547.5862804594494" y="218.86328125"/>
|
325
|
+
<y:Point x="591.2679152715774" y="218.86328125"/>
|
326
|
+
</y:Path>
|
327
|
+
<y:LineStyle color="#000000" type="line" width="2.0"/>
|
328
|
+
<y:Arrows source="none" target="short"/>
|
329
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="19.84079415457586" y="46.9560546875"></y:EdgeLabel>
|
330
|
+
<y:BendStyle smoothed="false"/>
|
331
|
+
</y:PolyLineEdge>
|
332
|
+
</data>
|
333
|
+
<data key="d3">UMLuses</data>
|
334
|
+
</edge>
|
335
|
+
<edge id="e10" source="n8" target="n3">
|
336
|
+
<data key="d2">
|
337
|
+
<y:PolyLineEdge>
|
338
|
+
<y:Path sx="86.0445556640625" sy="22.310546875" tx="-57.363037109375" ty="-22.310546875">
|
339
|
+
<y:Point x="604.9493175688244" y="203.86328125"/>
|
340
|
+
<y:Point x="850.7202962239584" y="203.86328125"/>
|
341
|
+
</y:Path>
|
342
|
+
<y:LineStyle color="#000000" type="line" width="2.0"/>
|
343
|
+
<y:Arrows source="none" target="short"/>
|
344
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="120.88546607607896" y="31.970703125"></y:EdgeLabel>
|
345
|
+
<y:BendStyle smoothed="false"/>
|
346
|
+
</y:PolyLineEdge>
|
347
|
+
</data>
|
348
|
+
<data key="d3">UMLuses</data>
|
349
|
+
</edge>
|
350
|
+
<edge id="e11" source="n8" target="n7">
|
351
|
+
<data key="d2">
|
352
|
+
<y:PolyLineEdge>
|
353
|
+
<y:Path sx="-28.6815185546875" sy="22.310546875" tx="57.363037109375" ty="-22.310546875">
|
354
|
+
<y:Point x="490.2232433500744" y="218.86328125"/>
|
355
|
+
<y:Point x="446.54160853794644" y="218.86328125"/>
|
356
|
+
</y:Path>
|
357
|
+
<y:LineStyle color="#000000" type="line" width="2.0"/>
|
358
|
+
<y:Arrows source="none" target="short"/>
|
359
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-23.84081013997394" y="46.9560546875"></y:EdgeLabel>
|
360
|
+
<y:BendStyle smoothed="false"/>
|
361
|
+
</y:PolyLineEdge>
|
362
|
+
</data>
|
363
|
+
<data key="d3">UMLuses</data>
|
364
|
+
</edge>
|
365
|
+
<edge id="e12" source="n9" target="n10">
|
366
|
+
<data key="d2">
|
367
|
+
<y:PolyLineEdge>
|
368
|
+
<y:Path sx="0.0" sy="22.310546875" tx="0.0" ty="-22.310546875"/>
|
369
|
+
<y:LineStyle color="#000000" type="line" width="2.0"/>
|
370
|
+
<y:Arrows source="none" target="short"/>
|
371
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="1.9999767485119264" y="7.9609375"></y:EdgeLabel>
|
372
|
+
<y:BendStyle smoothed="false"/>
|
373
|
+
</y:PolyLineEdge>
|
374
|
+
</data>
|
375
|
+
<data key="d3">UMLuses</data>
|
376
|
+
</edge>
|
377
|
+
<edge id="e13" source="n10" target="n8">
|
378
|
+
<data key="d2">
|
379
|
+
<y:PolyLineEdge>
|
380
|
+
<y:Path sx="0.0" sy="22.310546875" tx="0.0" ty="-22.310546875"/>
|
381
|
+
<y:LineStyle color="#000000" type="line" width="2.0"/>
|
382
|
+
<y:Arrows source="none" target="short"/>
|
383
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="4.0" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="1.9999767485119264" y="7.9609375"></y:EdgeLabel>
|
384
|
+
<y:BendStyle smoothed="false"/>
|
385
|
+
</y:PolyLineEdge>
|
386
|
+
</data>
|
387
|
+
<data key="d3">UMLuses</data>
|
388
|
+
</edge>
|
389
|
+
</graph>
|
390
|
+
<data key="d4">
|
391
|
+
<y:Resources/>
|
392
|
+
</data>
|
393
|
+
</graphml>
|