func (s *PlatformKeysRewriteLoader) Run(context map[string]interface{}) error { folders := context[constants.CTX_HARDWARE_FOLDERS].([]string) platformKeysRewriteTxtPath, err := findPlatformKeysRewriteTxt(folders) if err != nil { return utils.WrapError(err) } if platformKeysRewriteTxtPath == constants.EMPTY_STRING { return nil } platformKeysRewrite := types.PlatforKeysRewrite{} platformKeysRewrite.Rewrites = []types.PlatforKeyRewrite{} txt, err := props.Load(platformKeysRewriteTxtPath) keys := utils.KeysOfMapOfString(txt) sort.Strings(keys) for _, key := range keys { keyParts := strings.Split(key, ".") if keyParts[0] == constants.PLATFORM_REWRITE_OLD { rewriteKey := strings.Join(keyParts[2:], ".") oldValue := txt[key] newValue := txt[constants.PLATFORM_REWRITE_NEW+"."+strings.Join(keyParts[1:], ".")] platformKeyRewrite := types.PlatforKeyRewrite{Key: rewriteKey, OldValue: oldValue, NewValue: newValue} platformKeysRewrite.Rewrites = append(platformKeysRewrite.Rewrites, platformKeyRewrite) } } context[constants.CTX_PLATFORM_KEYS_REWRITE] = platformKeysRewrite return nil }
func (s *PlatformKeysRewriteLoader) Run(ctx *types.Context) error { logger := ctx.GetLogger() folders := ctx.HardwareFolders platformKeysRewriteTxtPath, err := findPlatformKeysRewriteTxt(folders) if err != nil { return i18n.WrapError(err) } if platformKeysRewriteTxtPath == constants.EMPTY_STRING { return nil } platformKeysRewrite := types.PlatforKeysRewrite{} platformKeysRewrite.Rewrites = []types.PlatforKeyRewrite{} txt, err := props.Load(platformKeysRewriteTxtPath, logger) keys := utils.KeysOfMapOfString(txt) sort.Strings(keys) for _, key := range keys { keyParts := strings.Split(key, ".") if keyParts[0] == constants.PLATFORM_REWRITE_OLD { index, err := strconv.Atoi(keyParts[1]) if err != nil { return i18n.WrapError(err) } rewriteKey := strings.Join(keyParts[2:], ".") oldValue := txt[key] newValue := txt[constants.PLATFORM_REWRITE_NEW+"."+strings.Join(keyParts[1:], ".")] platformKeyRewrite := types.PlatforKeyRewrite{Key: rewriteKey, OldValue: oldValue, NewValue: newValue} platformKeysRewrite.Rewrites = growSliceOfRewrites(platformKeysRewrite.Rewrites, index) platformKeysRewrite.Rewrites[index] = platformKeyRewrite } } ctx.PlatformKeyRewrites = platformKeysRewrite return nil }