From ac8af9674ed7458b071e03d2608aff63278846b9 Mon Sep 17 00:00:00 2001 From: Andreas Linde Date: Sat, 29 Jan 2022 17:58:32 +0100 Subject: [PATCH] Improve configure defaultValue handling - simplify code - fix comset defaults type presentation issues --- cmd/configure/survey.go | 15 +++------------ templates/definition/charger/abl.yaml | 2 +- templates/definition/charger/alphatec.yaml | 2 +- templates/definition/charger/heidelberg.yaml | 2 +- templates/definition/defaults.yaml | 2 +- util/templates/template_modbus.go | 12 ++++++------ 6 files changed, 13 insertions(+), 22 deletions(-) diff --git a/cmd/configure/survey.go b/cmd/configure/survey.go index 5aa8b392d..5ef050718 100644 --- a/cmd/configure/survey.go +++ b/cmd/configure/survey.go @@ -112,7 +112,7 @@ func (c *CmdConfigure) askYesNo(label string) bool { type question struct { label, help string - defaultValue, exampleValue interface{} + defaultValue, exampleValue string invalidValues []string valueType string minNumberValue, maxNumberValue int64 @@ -206,7 +206,7 @@ func (c *CmdConfigure) askValue(q question) string { } else { help += " (" + c.localizedString("Value_Optional", nil) + ")" } - if q.exampleValue != nil && q.exampleValue != "" { + if q.exampleValue != "" { help += fmt.Sprintf(" ("+c.localizedString("Value_Sample", nil)+": %s)", q.exampleValue) } @@ -220,18 +220,9 @@ func (c *CmdConfigure) askValue(q question) string { } else { prompt := &survey.Input{ Message: q.label, + Default: q.defaultValue, Help: help, } - if q.defaultValue != nil { - switch q.defaultValue.(type) { - case string: - prompt.Default = q.defaultValue.(string) - case int: - prompt.Default = strconv.Itoa(q.defaultValue.(int)) - case bool: - prompt.Default = strconv.FormatBool(q.defaultValue.(bool)) - } - } err = c.surveyAskOne(prompt, &input, survey.WithValidator(validate)) } diff --git a/templates/definition/charger/abl.yaml b/templates/definition/charger/abl.yaml index 4195cc7ef..0455fbd26 100644 --- a/templates/definition/charger/abl.yaml +++ b/templates/definition/charger/abl.yaml @@ -12,7 +12,7 @@ params: - name: modbus choice: ["rs485"] baudrate: 38400 - comset: "8E1" + comset: 8E1 render: | type: abl {{include "modbus" .}} diff --git a/templates/definition/charger/alphatec.yaml b/templates/definition/charger/alphatec.yaml index eec793c2c..1f2659b08 100644 --- a/templates/definition/charger/alphatec.yaml +++ b/templates/definition/charger/alphatec.yaml @@ -9,7 +9,7 @@ params: - name: modbus choice: ["rs485"] baudrate: 9600 - comset: "8N1" + comset: 8N1 render: | type: alphatec {{include "modbus" .}} diff --git a/templates/definition/charger/heidelberg.yaml b/templates/definition/charger/heidelberg.yaml index 263d36fd6..93b11e4ec 100644 --- a/templates/definition/charger/heidelberg.yaml +++ b/templates/definition/charger/heidelberg.yaml @@ -15,7 +15,7 @@ params: - name: modbus choice: ["rs485"] baudrate: 19200 - comset: "8E1" + comset: 8E1 render: | type: heidelberg {{include "modbus" .}} diff --git a/templates/definition/defaults.yaml b/templates/definition/defaults.yaml index 058cd4246..4c0d0f09c 100644 --- a/templates/definition/defaults.yaml +++ b/templates/definition/defaults.yaml @@ -35,7 +35,7 @@ params: help: de: Kommunikationsparameter für den Adapter en: Communication parameter for the adapter - default: "8N1" + default: 8N1 - name: host description: de: IP-Adresse oder Hostname diff --git a/util/templates/template_modbus.go b/util/templates/template_modbus.go index 25432884a..b35ce8161 100644 --- a/util/templates/template_modbus.go +++ b/util/templates/template_modbus.go @@ -57,20 +57,20 @@ func (t *Template) ModbusValues(renderMode string, setDefaults bool, values map[ for _, p := range typeParams { values[p.Name] = p.DefaultValue(renderMode) - var defaultValue interface{} + var defaultValue string switch p.Name { case ModbusParamNameId: if modbusParam.ID != 0 { - defaultValue = modbusParam.ID + defaultValue = fmt.Sprintf("%d", modbusParam.ID) } case ModbusParamNamePort: if modbusParam.Port != 0 { - defaultValue = modbusParam.Port + defaultValue = fmt.Sprintf("%d", modbusParam.Port) } case ModbusParamNameBaudrate: if modbusParam.Baudrate != 0 { - defaultValue = modbusParam.Baudrate + defaultValue = fmt.Sprintf("%d", modbusParam.Baudrate) } case ModbusParamNameComset: if modbusParam.Comset != "" { @@ -78,12 +78,12 @@ func (t *Template) ModbusValues(renderMode string, setDefaults bool, values map[ } } - if defaultValue == nil { + if defaultValue == "" { continue } if renderMode == TemplateRenderModeInstance { - t.SetParamDefault(p.Name, fmt.Sprintf("%d", defaultValue)) + t.SetParamDefault(p.Name, defaultValue) } else { values[p.Name] = defaultValue }