@@ -331,16 +331,22 @@ func getValueFromAttrValue(av attr.Value, fieldsMap map[string]common.ConfigFiel
331
331
if currentField != nil {
332
332
if t , ok := currentField .ItemType [service ]; ok {
333
333
if t == common .Integer {
334
+ if v .ValueString () == "" {
335
+ return nil
336
+ }
334
337
res , err := strconv .Atoi (v .ValueString ())
335
338
if err != nil {
336
- panic ( fmt . Sprintf ( "Can't convert value %v to int" , v . ValueString ()) )
339
+ return int ( 0 )
337
340
}
338
341
return res
339
342
}
340
343
if t == common .Float {
344
+ if v .ValueString () == "" {
345
+ return nil
346
+ }
341
347
res , err := strconv .ParseFloat (v .ValueString (), 64 )
342
348
if err != nil {
343
- panic ( fmt . Sprintf ( "Can't convert value %v to int" , v . ValueString ()) )
349
+ return float64 ( 0 )
344
350
}
345
351
return res
346
352
}
@@ -362,22 +368,31 @@ func getValueFromAttrValue(av attr.Value, fieldsMap map[string]common.ConfigFiel
362
368
if scf , ok := fieldsMap [an + "_" + service ]; ok {
363
369
cf = scf
364
370
}
365
- result [an ] = getValueFromAttrValue (av , cf .ItemFields , & cf , service )
371
+ value := getValueFromAttrValue (av , cf .ItemFields , & cf , service )
372
+ if value != nil {
373
+ result [an ] = value
374
+ }
366
375
}
367
376
}
368
377
return result
369
378
}
370
379
if v , ok := av .(basetypes.SetValue ); ok {
371
380
result := make ([]interface {}, 0 )
372
381
for _ , ev := range v .Elements () {
373
- result = append (result , getValueFromAttrValue (ev , fieldsMap , currentField , service ))
382
+ value := getValueFromAttrValue (ev , fieldsMap , currentField , service )
383
+ if value != nil {
384
+ result = append (result , value )
385
+ }
374
386
}
375
387
return result
376
388
}
377
389
if v , ok := av .(basetypes.ListValue ); ok {
378
390
result := make ([]interface {}, 0 )
379
391
for _ , ev := range v .Elements () {
380
- result = append (result , getValueFromAttrValue (ev , fieldsMap , currentField , service ))
392
+ value := getValueFromAttrValue (ev , fieldsMap , currentField , service )
393
+ if value != nil {
394
+ result = append (result , value )
395
+ }
381
396
}
382
397
return result
383
398
}
0 commit comments