From 73c0aaca790d6cff8a9898482de65005d3d5521c Mon Sep 17 00:00:00 2001 From: shivkumar dudhani Date: Wed, 26 Feb 2020 17:02:16 -0800 Subject: [PATCH] CR refactor --- pkg/engine/variables/vars.go | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/pkg/engine/variables/vars.go b/pkg/engine/variables/vars.go index 168eb375cf..4c336f2ede 100644 --- a/pkg/engine/variables/vars.go +++ b/pkg/engine/variables/vars.go @@ -76,7 +76,6 @@ func subValR(ctx context.EvalInterface, valuePattern string, path string, errs * if ok, retVal := processIfSingleVariable(ctx, valuePattern, path, errs); ok { return retVal } - regexVar := `\{\{([^{}]*)\}\}` // var emptyInterface interface{} var failedVars []string // process type string @@ -87,7 +86,7 @@ func subValR(ctx context.EvalInterface, valuePattern string, path string, errs * break } // get variables at this level - validRegex := regexp.MustCompile(regexVar) + validRegex := regexp.MustCompile(variableRegex) groups := validRegex.FindAllStringSubmatch(valueStr, -1) if len(groups) == 0 { // there was no match @@ -157,14 +156,12 @@ func processIfSingleVariable(ctx context.EvalInterface, valuePattern interface{} return false, nil } // as there will be exactly one variable based on the above regex - for _, group := range groups { - variable, err := ctx.Query(group[1]) - if err != nil || variable == nil { - *errs = append(*errs, fmt.Errorf("failed to resolve %v at path %s", group[1], path)) - // return the same value pattern, and add un-resolvable variable error - return true, valuePattern - } - return true, variable + group := groups[0] + variable, err := ctx.Query(group[1]) + if err != nil || variable == nil { + *errs = append(*errs, fmt.Errorf("failed to resolve %v at path %s", group[1], path)) + // return the same value pattern, and add un-resolvable variable error + return true, valuePattern } - return false, nil + return true, variable }