@@ -59,9 +59,13 @@ func processCidrmaps(cidrmaps []*gtm.CidrMap, cidrImportList map[string][]int, d
59
59
}
60
60
switch varName {
61
61
case "DefaultDatacenter" :
62
- keyVal = processDefaultDatacenter (varValue .(* gtm.DatacenterBase ), true )
63
- case "Assignments" :
64
- keyVal = processCidrAssignments (varValue .([]* gtm.CidrAssignment ))
62
+ mapBody += tab4 + key + " {\n "
63
+ mapBody += processDefaultDatacenter (varValue .(* gtm.DatacenterBase ), true )
64
+ mapBody += tab4 + "}\n "
65
+ continue
66
+ case "Assignments" :
67
+ mapBody += processCidrAssignments (varValue .([]* gtm.CidrAssignment ))
68
+ continue
65
69
}
66
70
mapBody += tab4 + key + " = "
67
71
if varType .Kind () == reflect .String {
@@ -115,9 +119,13 @@ func processGeomaps(geomaps []*gtm.GeoMap, geoImportList map[string][]int, dcIL
115
119
}
116
120
switch varName {
117
121
case "DefaultDatacenter" :
118
- keyVal = processDefaultDatacenter (varValue .(* gtm.DatacenterBase ), true )
119
- case "Assignments" :
120
- keyVal = processGeoAssignments (varValue .([]* gtm.GeoAssignment ))
122
+ mapBody += tab4 + key + " {\n "
123
+ mapBody += processDefaultDatacenter (varValue .(* gtm.DatacenterBase ), true )
124
+ mapBody += tab4 + "}\n "
125
+ continue
126
+ case "Assignments" :
127
+ mapBody += processGeoAssignments (varValue .([]* gtm.GeoAssignment ))
128
+ continue
121
129
}
122
130
mapBody += tab4 + key + " = "
123
131
if varType .Kind () == reflect .String {
@@ -171,9 +179,13 @@ func processAsmaps(asmaps []*gtm.AsMap, asImportList map[string][]int, dcIL map[
171
179
}
172
180
switch varName {
173
181
case "DefaultDatacenter" :
174
- keyVal = processDefaultDatacenter (varValue .(* gtm.DatacenterBase ), true )
182
+ mapBody += tab4 + key + " {\n "
183
+ mapBody += processDefaultDatacenter (varValue .(* gtm.DatacenterBase ), true )
184
+ mapBody += tab4 + "}\n "
185
+ continue
175
186
case "Assignments" :
176
- keyVal = processAsAssignments (varValue .([]* gtm.AsAssignment ))
187
+ mapBody += processAsAssignments (varValue .([]* gtm.AsAssignment ))
188
+ continue
177
189
}
178
190
mapBody += tab4 + key + " = "
179
191
if varType .Kind () == reflect .String {
@@ -204,9 +216,6 @@ func processAsmaps(asmaps []*gtm.AsMap, asImportList map[string][]int, dcIL map[
204
216
func processDefaultDatacenter (ddc * gtm.DatacenterBase , structreq bool ) string {
205
217
206
218
ddcString := ""
207
- if structreq {
208
- ddcString += "[{\n "
209
- }
210
219
ddcElems := reflect .ValueOf (ddc ).Elem ()
211
220
for i := 0 ; i < ddcElems .NumField (); i ++ {
212
221
varName := ddcElems .Type ().Field (i ).Name
@@ -220,63 +229,62 @@ func processDefaultDatacenter(ddc *gtm.DatacenterBase, structreq bool) string {
220
229
ddcString += tab8 + key + " = " + keyVal + "\n "
221
230
}
222
231
}
223
- if structreq {
224
- ddcString += tab4 + "}]"
225
- } else {
232
+ if ! structreq {
226
233
ddcString = strings .TrimSuffix (ddcString , "\n " ) // remove trailing new line
227
234
}
235
+
228
236
return ddcString
229
237
230
238
}
231
239
232
240
func processCidrAssignments (assigns []* gtm.CidrAssignment ) string {
233
241
234
242
if len (assigns ) == 0 {
235
- return "[] "
243
+ return ""
236
244
}
237
- assignString := "[{ \n " // assume MT
238
- for ii , assign := range assigns {
245
+ assignString := ""
246
+ for _ , assign := range assigns {
239
247
aElems := reflect .ValueOf (assign ).Elem ()
240
- assignString += processAssignmentsBase (aElems , "Blocks" , ( ii < len ( assigns ) - 1 ) )
248
+ assignString += processAssignmentsBase (aElems , "Blocks" )
241
249
}
242
- assignString += tab4 + "]"
250
+
243
251
return assignString
244
252
245
253
}
246
254
247
255
func processGeoAssignments (assigns []* gtm.GeoAssignment ) string {
248
256
249
257
if len (assigns ) == 0 {
250
- return "[] "
258
+ return ""
251
259
}
252
- assignString := "[{ \n " // assume MT
253
- for ii , assign := range assigns {
260
+ assignString := ""
261
+ for _ , assign := range assigns {
254
262
aElems := reflect .ValueOf (assign ).Elem ()
255
- assignString += processAssignmentsBase (aElems , "Countries" , ( ii < len ( assigns ) - 1 ) )
263
+ assignString += processAssignmentsBase (aElems , "Countries" )
256
264
}
257
- assignString += tab4 + "]"
265
+
258
266
return assignString
259
267
260
268
}
261
269
262
270
func processAsAssignments (assigns []* gtm.AsAssignment ) string {
263
271
264
272
if len (assigns ) == 0 {
265
- return "[] "
273
+ return ""
266
274
}
267
- assignString := "[{ \n " // assume MT
268
- for ii , assign := range assigns {
275
+ assignString := ""
276
+ for _ , assign := range assigns {
269
277
aElems := reflect .ValueOf (assign ).Elem ()
270
- assignString += processAssignmentsBase (aElems , "AsNumbers" , ( ii < len ( assigns ) - 1 ) )
278
+ assignString += processAssignmentsBase (aElems , "AsNumbers" )
271
279
}
272
- assignString += tab4 + "]"
280
+
273
281
return assignString
274
282
275
283
}
276
284
277
- func processAssignmentsBase (elem reflect.Value , assignKey string , last bool ) string {
285
+ func processAssignmentsBase (elem reflect.Value , assignKey string ) string {
278
286
279
- assignStr := " "
287
+ assignStr := tab4 + "assignment { \n "
280
288
for i := 0 ; i < elem .NumField (); i ++ {
281
289
varName := elem .Type ().Field (i ).Name
282
290
varType := elem .Type ().Field (i ).Type
@@ -302,11 +310,8 @@ func processAssignmentsBase(elem reflect.Value, assignKey string, last bool) str
302
310
}
303
311
}
304
312
}
305
- if last {
306
- assignStr += tab8 + "},\n " + tab8 + "{\n "
307
- } else {
308
- assignStr += tab8 + "}\n "
309
- }
313
+ assignStr += tab4 + "}\n "
314
+
310
315
return assignStr
311
316
312
317
}
0 commit comments