mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 07:47:56 +00:00
Minor cleanup in unstructured converter
This commit is contained in:
parent
58ec5cce28
commit
edb36d4df7
@ -98,14 +98,14 @@ func doRoundTrip(t *testing.T, group testapi.TestGroup, kind string) {
|
||||
}
|
||||
|
||||
newUnstr := make(map[string]interface{})
|
||||
err = unstructured.NewConverter().ToUnstructured(item, &newUnstr)
|
||||
err = unstructured.Converter.ToUnstructured(item, &newUnstr)
|
||||
if err != nil {
|
||||
t.Errorf("ToUnstructured failed: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
newObj := reflect.New(reflect.TypeOf(item).Elem()).Interface().(runtime.Object)
|
||||
err = unstructured.NewConverter().FromUnstructured(newUnstr, newObj)
|
||||
err = unstructured.Converter.FromUnstructured(newUnstr, newObj)
|
||||
if err != nil {
|
||||
t.Errorf("FromUnstructured failed: %v", err)
|
||||
return
|
||||
@ -139,11 +139,11 @@ func BenchmarkToFromUnstructured(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
unstr := map[string]interface{}{}
|
||||
if err := unstructured.NewConverter().ToUnstructured(&items[i%size], &unstr); err != nil {
|
||||
if err := unstructured.Converter.ToUnstructured(&items[i%size], &unstr); err != nil {
|
||||
b.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
obj := v1.Pod{}
|
||||
if err := unstructured.NewConverter().FromUnstructured(unstr, &obj); err != nil {
|
||||
if err := unstructured.Converter.FromUnstructured(unstr, &obj); err != nil {
|
||||
b.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
}
|
||||
|
@ -57,18 +57,20 @@ var (
|
||||
unmarshalerType = reflect.TypeOf(new(encodingjson.Unmarshaler)).Elem()
|
||||
mapStringInterfaceType = reflect.TypeOf(map[string]interface{}{})
|
||||
fieldCache = newFieldsCache()
|
||||
Converter = newConverter()
|
||||
|
||||
)
|
||||
|
||||
// Converter knows how to convert betweek runtime.Object and
|
||||
// ConverterImpl knows how to convert betweek runtime.Object and
|
||||
// Unstructured in both ways.
|
||||
type Converter struct {
|
||||
type ConverterImpl struct {
|
||||
}
|
||||
|
||||
func NewConverter() *Converter {
|
||||
return &Converter{}
|
||||
func newConverter() *ConverterImpl {
|
||||
return &ConverterImpl{}
|
||||
}
|
||||
|
||||
func (c *Converter) FromUnstructured(u map[string]interface{}, obj runtime.Object) error {
|
||||
func (c *ConverterImpl) FromUnstructured(u map[string]interface{}, obj runtime.Object) error {
|
||||
return fromUnstructured(reflect.ValueOf(u), reflect.ValueOf(obj).Elem())
|
||||
}
|
||||
|
||||
@ -304,7 +306,7 @@ func interfaceFromUnstructured(sv, dv reflect.Value) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Converter) ToUnstructured(obj runtime.Object, u *map[string]interface{}) error {
|
||||
func (c *ConverterImpl) ToUnstructured(obj runtime.Object, u *map[string]interface{}) error {
|
||||
return toUnstructured(reflect.ValueOf(obj).Elem(), reflect.ValueOf(u).Elem())
|
||||
}
|
||||
|
||||
|
@ -122,14 +122,14 @@ func doRoundTrip(t *testing.T, item runtime.Object) {
|
||||
}
|
||||
|
||||
newUnstr := make(map[string]interface{})
|
||||
err = NewConverter().ToUnstructured(item, &newUnstr)
|
||||
err = Converter.ToUnstructured(item, &newUnstr)
|
||||
if err != nil {
|
||||
t.Errorf("ToUnstructured failed: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
newObj := reflect.New(reflect.TypeOf(item).Elem()).Interface().(runtime.Object)
|
||||
err = NewConverter().FromUnstructured(newUnstr, newObj)
|
||||
err = Converter.FromUnstructured(newUnstr, newObj)
|
||||
if err != nil {
|
||||
t.Errorf("FromUnstructured failed: %v", err)
|
||||
return
|
||||
@ -239,7 +239,7 @@ func doUnrecognized(t *testing.T, jsonData string, item runtime.Object, expected
|
||||
return
|
||||
}
|
||||
newObj := reflect.New(reflect.TypeOf(item).Elem()).Interface().(runtime.Object)
|
||||
err = NewConverter().FromUnstructured(unstr, newObj)
|
||||
err = Converter.FromUnstructured(unstr, newObj)
|
||||
if (err != nil) != (expectedErr != nil) {
|
||||
t.Errorf("Unexpected error in FromUnstructured: %v, expected: %v", err, expectedErr)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user