提交 aa9047ee 编写于 作者: aaronchen2k2k's avatar aaronchen2k2k

fix bug#3300,3301

上级 58835678
......@@ -6,7 +6,7 @@ version: 1.0
field: number
note: 数值类型数据
range: 100-199
prefix: "'"
postfix: "'"
loop: 2
loopfix: ","
\ No newline at end of file
loopfix: ","
prefix: "'"
postfix: "'"
\ No newline at end of file
......@@ -71,4 +71,8 @@ fields:
- field: field_use_instance # 引用其他的定义文件,该文件定义了多个实例。
from: system.ip.v1.yaml # 引用data/system/ip/v1.yaml
use: privateC # 使用该文件中定义的privateC和privateB两个实例。
postfix: "\t"
postfix: "==="
- field: field_use_another_file # 可以引用其他的定义文件。
config: number.yaml # 引用当前目录下面的number.yaml文件里面的定义。
postfix: "==="
\ No newline at end of file
......@@ -4,30 +4,30 @@ author: zentao
version: 1.0
fields:
- field: field_use_instance # 引用default.xml里的嵌套字段
prefix: "[" # 复写前缀
postfix: "]" # 特殊字符加引号,否则无法解析
- field: field_use_instance
prefix: ""
postfix: "]"
- field: field_use_excel
prefix: " [" # 复写前缀
postfix: "] " # 特殊字符加引号,否则无法解析
prefix: " ["
postfix: "]==== "
- field: field_with_children
prefix: " [" # 复写前缀
postfix: "] " # 特殊字符加引号,否则无法解析
prefix: " ["
postfix: "] "
- field: field_loop # 引用default.xml里的自循环的字段
prefix: "[" # 复写前缀
postfix: "]" # 特殊字符加引号,否则无法解析
- field: field_loop
prefix: "["
postfix: "]"
- field: field_nested_range # 引用的range使用多层嵌套的use定义
from: custom.number.v1.yaml # 引用data/system/misc/number.yaml
use: all # 使用该文件中定义的privateC和privateB两个实例。
prefix: "[" # 复写前缀
postfix: "]" # 特殊字符加引号,否则无法解析
- field: field_nested_range
from: custom.test.number.v1.yaml
use: all
prefix: "["
postfix: "]"
- field: field_nested_refer # 引用的instance使用多层嵌套的use定义
from: _test.ip.private.yaml
- field: field_nested_refer
from: custom.ip.private.yaml
use: all
prefix: "["
postfix: "]"
\ No newline at end of file
......@@ -46,9 +46,9 @@ func LoadConfigDef(defaultFile, configFile string, fieldsToExport *[]string) mod
return configDef
}
// use all fields as default
// use all fields from default
if len(*fieldsToExport) == 0 {
for _, field := range configDef.Fields {
for _, field := range defaultDef.Fields {
*fieldsToExport = append(*fieldsToExport, field.Field)
}
}
......@@ -72,11 +72,10 @@ func mergerDefine(defaultDef, configDef *model.DefData) {
sortedKeys := make([]string, 0)
for i := range defaultDef.Fields {
CreatePathToFieldMap(&defaultDef.Fields[i], defaultFieldMap, nil)
CreatePathToFieldMap(&defaultDef.Fields[i], defaultFieldMap, &sortedKeys)
}
for i := range configDef.Fields {
CreatePathToFieldMap(&configDef.Fields[i], configFieldMap, &sortedKeys)
CreatePathToFieldMap(&configDef.Fields[i], configFieldMap, nil)
}
// overwrite
......@@ -91,7 +90,7 @@ func mergerDefine(defaultDef, configDef *model.DefData) {
// append
for _, key := range sortedKeys {
field := configFieldMap[key]
if strings.Index(field.Path, "~~") > -1 { continue } // ignore no-top fields
if field == nil || strings.Index(field.Path, "~~") > -1 { continue } // ignore no-top fields
_, exist := defaultFieldMap[field.Path]
if !exist {
......
......@@ -53,8 +53,8 @@ func GenerateForDefinition(defaultFile, configFile string, fieldsToExport *[]str
childValues := topFieldNameToValuesMap[child.Field]
arrOfArr = append(arrOfArr, childValues)
}
rows = putChildrenToArr(arrOfArr, total)
return
}
......@@ -96,10 +96,12 @@ func GenerateForField(field *model.DefField, total int, withFix bool) (values []
values = LoopSubFields(field, values, total, true)
} else if field.Config != "" { // refer to another define
} else if field.Config != "" { // refer to config
groupValues := vari.Res[field.Config]
values = append(values, groupValues["all"]...)
values = LoopSubFields(field, values, total, true)
} else { // leaf field
values = GenerateFieldItemsFromDefinition(field)
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册