-
Notifications
You must be signed in to change notification settings - Fork 0
/
nodes.json.ftl
75 lines (74 loc) · 2.72 KB
/
nodes.json.ftl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{
"data": {
"nodes": [
<#list nodes as node>
<#switch node.type>
<#case "Module">
<#assign label = "${node.name}">
<#assign color = "navy">
<#assign size = "7">
<#break>
<#case "Base module">
<#assign label = "${node.name}">
<#assign color = "blue">
<#assign size = "10">
<#break>
<#case "Service definition">
<#assign label = "${node.name}">
<#assign color = "gray">
<#assign size = "5">
<#break>
<#case "Service">
<#assign label = "${node.name}">
<#assign color = "brown">
<#assign size = "3">
<#break>
<#case "Package">
<#assign label = "${node.name}">
<#assign color = "orange">
<#assign size = "3">
<#break>
</#switch>
{
"ID": "${node.id}",
"LABEL": "${label}",
"COLORVALUE": "${color}",
"COLORLABEL": "${node.type}",
"SIZEVALUE": "${size}",
"INFOSTRING": "${node.name}"
}
<#sep>,</#sep>
</#list>
],
"links": [
<#list links as link>
<#switch link.label>
<#case "Implements">
<#assign line = "dashed">
<#assign lineColor = "gray">
<#break>
<#case "Exports qualified">
<#assign line = "solid">
<#assign lineColor = "red">
<#break>
<#case "Exported for">
<#assign line = "dotted">
<#assign lineColor = "orange">
<#break>
<#default >
<#assign line = "solid">
<#assign lineColor = "gray">
<#break>
</#switch>
{
"FROMID": "${link.from}",
"TOID": "${link.to}",
"STYLE": "${line}",
"INFOSTRING": "${link.label}",
"COLOR": "${lineColor}"
}
<#sep>,</#sep>
</#list>
]
}
}