aboutsummaryrefslogtreecommitdiff
path: root/pkg/bindings/generate
diff options
context:
space:
mode:
authorMatej Vasek <mvasek@redhat.com>2021-02-10 15:38:34 +0100
committerMatej Vasek <mvasek@redhat.com>2021-02-14 15:44:22 +0100
commit6ffd05d0bd688f71b424ab2f62e7cc4df0e8e751 (patch)
treea4640b2b8799533fb31fbb78219941e1dd86efdb /pkg/bindings/generate
parent1d15ed708f2d7c6dab5ee90415acb156973ac1a4 (diff)
downloadpodman-6ffd05d0bd688f71b424ab2f62e7cc4df0e8e751.tar.gz
podman-6ffd05d0bd688f71b424ab2f62e7cc4df0e8e751.tar.bz2
podman-6ffd05d0bd688f71b424ab2f62e7cc4df0e8e751.zip
[NO TESTS NEEDED] Refactor generated code
Extracted common functionality to util function. Signed-off-by: Matej Vasek <mvasek@redhat.com>
Diffstat (limited to 'pkg/bindings/generate')
-rw-r--r--pkg/bindings/generate/types_kube_options.go56
-rw-r--r--pkg/bindings/generate/types_systemd_options.go56
2 files changed, 4 insertions, 108 deletions
diff --git a/pkg/bindings/generate/types_kube_options.go b/pkg/bindings/generate/types_kube_options.go
index 7d7b5d335..5d34f4bee 100644
--- a/pkg/bindings/generate/types_kube_options.go
+++ b/pkg/bindings/generate/types_kube_options.go
@@ -1,13 +1,9 @@
package generate
import (
- "errors"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
)
/*
@@ -16,60 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *KubeOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *KubeOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
- }
- return params, nil
+ return util.ToParams(o)
}
// WithService
diff --git a/pkg/bindings/generate/types_systemd_options.go b/pkg/bindings/generate/types_systemd_options.go
index 132904cf1..dc7378888 100644
--- a/pkg/bindings/generate/types_systemd_options.go
+++ b/pkg/bindings/generate/types_systemd_options.go
@@ -1,13 +1,9 @@
package generate
import (
- "errors"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
)
/*
@@ -16,60 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *SystemdOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *SystemdOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
- }
- return params, nil
+ return util.ToParams(o)
}
// WithUseName