mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Minor cleanup of jsonFallbackEncoder
This commit is contained in:
		@@ -186,7 +186,7 @@ func (o *ConvertOptions) RunConvert() error {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	internalEncoder := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
 | 
			
		||||
	internalVersionJSONEncoder := unstructured.JSONFallbackEncoder{Encoder: internalEncoder}
 | 
			
		||||
	internalVersionJSONEncoder := unstructured.NewJSONFallbackEncoder(internalEncoder)
 | 
			
		||||
	objects, err := asVersionedObject(infos, !singleItemImplied, specifiedOutputVersion, internalVersionJSONEncoder)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -460,12 +460,18 @@ func (s unstructuredJSONScheme) decodeToList(data []byte, list *UnstructuredList
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type JSONFallbackEncoder struct {
 | 
			
		||||
	runtime.Encoder
 | 
			
		||||
type jsonFallbackEncoder struct {
 | 
			
		||||
	encoder runtime.Encoder
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c JSONFallbackEncoder) Encode(obj runtime.Object, w io.Writer) error {
 | 
			
		||||
	err := c.Encoder.Encode(obj, w)
 | 
			
		||||
func NewJSONFallbackEncoder(encoder runtime.Encoder) runtime.Encoder {
 | 
			
		||||
	return &jsonFallbackEncoder{
 | 
			
		||||
		encoder: encoder,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *jsonFallbackEncoder) Encode(obj runtime.Object, w io.Writer) error {
 | 
			
		||||
	err := c.encoder.Encode(obj, w)
 | 
			
		||||
	if runtime.IsNotRegisteredError(err) {
 | 
			
		||||
		switch obj.(type) {
 | 
			
		||||
		case *Unstructured, *UnstructuredList:
 | 
			
		||||
 
 | 
			
		||||
@@ -260,21 +260,6 @@ func (disabledGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersi
 | 
			
		||||
	return schema.GroupVersionKind{}, false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GroupVersioners implements GroupVersioner and resolves to the first exact match for any kind.
 | 
			
		||||
type GroupVersioners []GroupVersioner
 | 
			
		||||
 | 
			
		||||
// KindForGroupVersionKinds returns the first match of any of the group versioners, or false if no match occurred.
 | 
			
		||||
func (gvs GroupVersioners) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) {
 | 
			
		||||
	for _, gv := range gvs {
 | 
			
		||||
		target, ok := gv.KindForGroupVersionKinds(kinds)
 | 
			
		||||
		if !ok {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		return target, true
 | 
			
		||||
	}
 | 
			
		||||
	return schema.GroupVersionKind{}, false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Assert that schema.GroupVersion and GroupVersions implement GroupVersioner
 | 
			
		||||
var _ GroupVersioner = schema.GroupVersion{}
 | 
			
		||||
var _ GroupVersioner = schema.GroupVersions{}
 | 
			
		||||
 
 | 
			
		||||
@@ -199,7 +199,7 @@ func annotateRuntimeObject(t *testing.T, originalObj, currentObj runtime.Object,
 | 
			
		||||
	originalLabels := originalAccessor.GetLabels()
 | 
			
		||||
	originalLabels["DELETE_ME"] = "DELETE_ME"
 | 
			
		||||
	originalAccessor.SetLabels(originalLabels)
 | 
			
		||||
	original, err := runtime.Encode(unstructured.JSONFallbackEncoder{Encoder: codec}, originalObj)
 | 
			
		||||
	original, err := runtime.Encode(unstructured.NewJSONFallbackEncoder(codec), originalObj)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
@@ -215,7 +215,7 @@ func annotateRuntimeObject(t *testing.T, originalObj, currentObj runtime.Object,
 | 
			
		||||
	}
 | 
			
		||||
	currentAnnotations[corev1.LastAppliedConfigAnnotation] = string(original)
 | 
			
		||||
	currentAccessor.SetAnnotations(currentAnnotations)
 | 
			
		||||
	current, err := runtime.Encode(unstructured.JSONFallbackEncoder{Encoder: codec}, currentObj)
 | 
			
		||||
	current, err := runtime.Encode(unstructured.NewJSONFallbackEncoder(codec), currentObj)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
@@ -1030,7 +1030,7 @@ func TestUnstructuredIdempotentApply(t *testing.T) {
 | 
			
		||||
	cmdtesting.InitTestErrorHandler(t)
 | 
			
		||||
 | 
			
		||||
	serversideObject := readUnstructuredFromFile(t, filenameWidgetServerside)
 | 
			
		||||
	serversideData, err := runtime.Encode(unstructured.JSONFallbackEncoder{Encoder: codec}, serversideObject)
 | 
			
		||||
	serversideData, err := runtime.Encode(unstructured.NewJSONFallbackEncoder(codec), serversideObject)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -35,5 +35,5 @@ var ParameterCodec = runtime.NewParameterCodec(Scheme)
 | 
			
		||||
 | 
			
		||||
// DefaultJSONEncoder returns a default encoder for our scheme
 | 
			
		||||
func DefaultJSONEncoder() runtime.Encoder {
 | 
			
		||||
	return unstructured.JSONFallbackEncoder{Encoder: Codecs.LegacyCodec(Scheme.PrioritizedVersionsAllGroups()...)}
 | 
			
		||||
	return unstructured.NewJSONFallbackEncoder(Codecs.LegacyCodec(Scheme.PrioritizedVersionsAllGroups()...))
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user