diff --git a/pkg/cmd/kafka/update/update.go b/pkg/cmd/kafka/update/update.go index 9dcc16e215..1d1e76aa4d 100644 --- a/pkg/cmd/kafka/update/update.go +++ b/pkg/cmd/kafka/update/update.go @@ -6,6 +6,7 @@ import ( "fmt" "reflect" "strconv" + "strings" "github.com/AlecAivazis/survey/v2" kafkamgmtclient "github.com/redhat-developer/app-services-sdk-go/kafkamgmt/apiv1/client" @@ -291,10 +292,14 @@ func generateUpdateSummary(new reflect.Value, current reflect.Value) string { fieldTag := field.Tag.Get("json") fieldName := field.Name - oldVal := getElementValue(current.FieldByName(fieldName)).String() - newVal := getElementValue(new.FieldByName(fieldName)).String() + oldVal := getElementValue(current.FieldByName(fieldName)) + newVal := getUpdateObjValue(new.FieldByName(fieldName)) - summary += fmt.Sprintf("%v: %v %v %v\n", color.Bold(fieldTag), oldVal, icon.Emoji("\u27A1", "=>"), newVal) + fieldTagDisp := strings.Split(fieldTag, ",")[0] + + if newVal != reflect.ValueOf(nil) { + summary += fmt.Sprintf("%v: %v %v %v\n", color.Bold(fieldTagDisp), oldVal, icon.Emoji("\u27A1", "=>"), newVal) + } } return summary @@ -308,3 +313,12 @@ func getElementValue(v reflect.Value) reflect.Value { } return v } + +// get the true value from a reflect.Value for KafkaUpdateRequest struct +func getUpdateObjValue(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Struct { + vstruct := v.FieldByName("value") + return vstruct.Elem() + } + return v +} diff --git a/pkg/localize/locales/en/cmd/acl.en.toml b/pkg/localize/locales/en/cmd/acl.en.toml index c8e6551b42..f3c56e1187 100644 --- a/pkg/localize/locales/en/cmd/acl.en.toml +++ b/pkg/localize/locales/en/cmd/acl.en.toml @@ -214,10 +214,10 @@ one = 'ACLs created to enable principal to consume messages from topics' one = '"--group" or "--group-prefix" flag is allowed only when consumer ACLs are to be added' [kafka.acl.grantPermissions.group.error.required] -one = '"--group" flag is required for consumer operation' +one = '"--group" or "--group-prefix" flag is required for consumer operation' [kafka.acl.grantPermissions.topic.error.required] -one = '"--topic" flag is required for consumer and producer operations' +one = '"--topic" or "--topic-prefix" flag is required for consumer and producer operations' [kafka.acl.grantPermissions.prefix.error.notAllowed] one = 'can not use "--{{.Resource}}-prefix" and "--{{.Resource}}" flag together'