11package main.groovy.dsl.engine
22
33import main.groovy.smoh.CanNode
4+ import main.groovy.smoh.ExpNode
45import main.groovy.smoh.HBase
56import main.groovy.smoh.MainNode
67import main.groovy.smoh.PbNode
78import main.groovy.smoh.SANode
89import main.groovy.smoh.SpeedUnit
10+ import main.groovy.smoh.TNode
911import main.groovy.utils.Helper
1012import main.java.com.UI.DrawSmolEngine
1113import main.java.com.prototype.DrawSecond
@@ -25,6 +27,8 @@ class Adapter {
2527class Sensor {
2628 String name
2729 String connect
30+ String destAddress
31+ double freq
2832}
2933
3034class Converter {
@@ -45,17 +49,17 @@ class GraphProducer {
4549 }
4650
4751
48- def build (def input ) {
52+ def formatInput (def input ) {
4953
5054 // define central node
5155 def root = new MainNode (" ROOT" )
52- varList. put(" root" ,root)
56+ varList. put(" root" , root)
5357
5458 // scan collection for adapters
55- input. catalog. each {k , v ->
56- if (v. toString(). contains(" 'type':'adapter'" )) {
59+ input. catalog. each { k , v ->
60+ if (v. toString(). contains(" 'type':'adapter'" )) {
5761
58- def rawAdapter = v. toString(). replace(" [" ," {" ). replace(" ]" ," }" ). replace(" \' " ," \" " )
62+ def rawAdapter = v. toString(). replace(" [" , " {" ). replace(" ]" , " }" ). replace(" \' " , " \" " )
5963 def valueMap = new JsonSlurper (). parseText(rawAdapter)
6064
6165 def adapter = new Adapter ()
@@ -67,37 +71,37 @@ class GraphProducer {
6771 if (ak. contains(" dst" )) adapter. dst = av
6872 }
6973
70- def newAdapter = new CanNode (adapter. name)
71- newAdapter. connect(root,10 ,SpeedUnit.Mb ,30 )
72- varList. put(adapter. name,newAdapter)
74+ def newAdapter = new TNode (adapter. name, adapter . ip )
75+ newAdapter. connect(root, 10 , SpeedUnit.Mb , 30 )
76+ varList. put(adapter. name, newAdapter)
7377
74- components. put(adapter. name,newAdapter)
78+ components. put(adapter. name, newAdapter)
7579 }
7680 }
7781
78- if (components. size() > 0 ) {
82+ if (components. size() > 0 ) {
7983
8084 // scan collection for converters
8185 input. catalog. each { k , v ->
8286 if (v. toString(). contains(" 'type':'converter'" )) {
83- def rawConverter = v. toString(). replace(" [" ," {" ). replace(" ]" ," }" ). replace(" \' " ," \" " )
87+ def rawConverter = v. toString(). replace(" [" , " {" ). replace(" ]" , " }" ). replace(" \' " , " \" " )
8488 def valueMap = new JsonSlurper (). parseText(rawConverter)
8589
8690 def converter = new Converter ()
8791 converter. name = k
8892
8993 valueMap. each { ck , cv ->
90- if (ck. contains(" connect" )) converter. connect = cv
94+ if (ck. contains(" connect" )) converter. connect = cv
9195 }
9296
93- def parentName = components. find { it. key == converter. connect}?. value
97+ def parentName = components. find { it. key == converter. connect }?. value
9498
95- if (parentName) {
96- def newConverter = new PbNode (converter. name)
99+ if (parentName) {
100+ def newConverter = new ExpNode (converter. name)
97101 newConverter. connect(parentName, 10 , SpeedUnit.Mb , 10 )
98- varList. put(converter. name,newConverter)
102+ varList. put(converter. name, newConverter)
99103
100- components. put(converter. name,newConverter)
104+ components. put(converter. name, newConverter)
101105 }
102106 }
103107 }
@@ -106,33 +110,41 @@ class GraphProducer {
106110 input. catalog. each { k , v ->
107111 if (v. toString(). contains(" 'type':'sensor'" )) {
108112
109- def rawSensor = v. toString(). replace(" [" ," {" ). replace(" ]" ," }" ). replace(" \' " ," \" " )
113+ def rawSensor = v. toString(). replace(" [" , " {" ). replace(" ]" , " }" ). replace(" \' " , " \" " )
110114 def valueMap = new JsonSlurper (). parseText(rawSensor)
111115
112116 def sensor = new Sensor ()
113117 sensor. name = k
114118
115- valueMap. each {sk , sv ->
116- if (sk. contains(" connect" )) sensor. connect = sv
119+ valueMap. each { sk , sv ->
120+ if (sk. contains(" connect" )) sensor. connect = sv
121+ if (sk. contains(" destAddress" )) sensor. destAddress = sv
122+ if (sk. contains(" freq" )) sensor. freq = Double . parseDouble((String )sv)
117123 }
118124
119- def parentName = components. find { it. key == sensor. connect}?. value
125+ def parentName = components. find { it. key == sensor. connect }?. value
120126
121- if (parentName) {
127+ if (parentName) {
122128 def newSensor = new SANode (sensor. name)
123129 newSensor. connect(parentName, 10 , SpeedUnit.Mb , 10 )
130+ newSensor. destAddress = sensor. destAddress
131+ newSensor. freq = sensor. freq
124132 varList. put(sensor. name, newSensor)
125133 }
126134 }
127135 }
128136 }
129137
138+ varList
139+ }
130140
131141
142+ def build (def input ) {
143+ def varList = formatInput(input)
144+
132145 List<NodeBase > lstBase = Helper.GenerateVertexList (varList)
133146 List<CustomEdge > lstLink = Helper.GenerateEdgeList (lstBase, varList)
134147
135-
136148 DrawSmolEngine dse = new DrawSmolEngine (DrawSecond.DrawDiagram (lstBase, lstLink))
137149 dse.DrawUIGraph ()
138150 }
0 commit comments