mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Minor cleanup of jsonFallbackEncoder
This commit is contained in:
parent
ef69b488bd
commit
cd24a0e5fa
@ -186,7 +186,7 @@ func (o *ConvertOptions) RunConvert() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
internalEncoder := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
internalEncoder := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
||||||
internalVersionJSONEncoder := unstructured.JSONFallbackEncoder{Encoder: internalEncoder}
|
internalVersionJSONEncoder := unstructured.NewJSONFallbackEncoder(internalEncoder)
|
||||||
objects, err := asVersionedObject(infos, !singleItemImplied, specifiedOutputVersion, internalVersionJSONEncoder)
|
objects, err := asVersionedObject(infos, !singleItemImplied, specifiedOutputVersion, internalVersionJSONEncoder)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -460,12 +460,18 @@ func (s unstructuredJSONScheme) decodeToList(data []byte, list *UnstructuredList
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type JSONFallbackEncoder struct {
|
type jsonFallbackEncoder struct {
|
||||||
runtime.Encoder
|
encoder runtime.Encoder
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c JSONFallbackEncoder) Encode(obj runtime.Object, w io.Writer) error {
|
func NewJSONFallbackEncoder(encoder runtime.Encoder) runtime.Encoder {
|
||||||
err := c.Encoder.Encode(obj, w)
|
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) {
|
if runtime.IsNotRegisteredError(err) {
|
||||||
switch obj.(type) {
|
switch obj.(type) {
|
||||||
case *Unstructured, *UnstructuredList:
|
case *Unstructured, *UnstructuredList:
|
||||||
|
@ -260,21 +260,6 @@ func (disabledGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersi
|
|||||||
return schema.GroupVersionKind{}, false
|
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
|
// Assert that schema.GroupVersion and GroupVersions implement GroupVersioner
|
||||||
var _ GroupVersioner = schema.GroupVersion{}
|
var _ GroupVersioner = schema.GroupVersion{}
|
||||||
var _ GroupVersioner = schema.GroupVersions{}
|
var _ GroupVersioner = schema.GroupVersions{}
|
||||||
|
@ -199,7 +199,7 @@ func annotateRuntimeObject(t *testing.T, originalObj, currentObj runtime.Object,
|
|||||||
originalLabels := originalAccessor.GetLabels()
|
originalLabels := originalAccessor.GetLabels()
|
||||||
originalLabels["DELETE_ME"] = "DELETE_ME"
|
originalLabels["DELETE_ME"] = "DELETE_ME"
|
||||||
originalAccessor.SetLabels(originalLabels)
|
originalAccessor.SetLabels(originalLabels)
|
||||||
original, err := runtime.Encode(unstructured.JSONFallbackEncoder{Encoder: codec}, originalObj)
|
original, err := runtime.Encode(unstructured.NewJSONFallbackEncoder(codec), originalObj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -215,7 +215,7 @@ func annotateRuntimeObject(t *testing.T, originalObj, currentObj runtime.Object,
|
|||||||
}
|
}
|
||||||
currentAnnotations[corev1.LastAppliedConfigAnnotation] = string(original)
|
currentAnnotations[corev1.LastAppliedConfigAnnotation] = string(original)
|
||||||
currentAccessor.SetAnnotations(currentAnnotations)
|
currentAccessor.SetAnnotations(currentAnnotations)
|
||||||
current, err := runtime.Encode(unstructured.JSONFallbackEncoder{Encoder: codec}, currentObj)
|
current, err := runtime.Encode(unstructured.NewJSONFallbackEncoder(codec), currentObj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -1030,7 +1030,7 @@ func TestUnstructuredIdempotentApply(t *testing.T) {
|
|||||||
cmdtesting.InitTestErrorHandler(t)
|
cmdtesting.InitTestErrorHandler(t)
|
||||||
|
|
||||||
serversideObject := readUnstructuredFromFile(t, filenameWidgetServerside)
|
serversideObject := readUnstructuredFromFile(t, filenameWidgetServerside)
|
||||||
serversideData, err := runtime.Encode(unstructured.JSONFallbackEncoder{Encoder: codec}, serversideObject)
|
serversideData, err := runtime.Encode(unstructured.NewJSONFallbackEncoder(codec), serversideObject)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -35,5 +35,5 @@ var ParameterCodec = runtime.NewParameterCodec(Scheme)
|
|||||||
|
|
||||||
// DefaultJSONEncoder returns a default encoder for our scheme
|
// DefaultJSONEncoder returns a default encoder for our scheme
|
||||||
func DefaultJSONEncoder() runtime.Encoder {
|
func DefaultJSONEncoder() runtime.Encoder {
|
||||||
return unstructured.JSONFallbackEncoder{Encoder: Codecs.LegacyCodec(Scheme.PrioritizedVersionsAllGroups()...)}
|
return unstructured.NewJSONFallbackEncoder(Codecs.LegacyCodec(Scheme.PrioritizedVersionsAllGroups()...))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user