Skip to content

Commit 68f63b4

Browse files
committed
fixup: remove enum in favor of struct
1 parent b897b2f commit 68f63b4

File tree

5 files changed

+28
-46
lines changed

5 files changed

+28
-46
lines changed

pkg/cache/cache.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ func convertToDisableDeepCopyByGVK(disableDeepCopyByObject DisableDeepCopyByObje
256256

257257
type TransformFuncByObject map[client.Object]toolscache.TransformFunc
258258

259-
func convertToTransformByKindAndGVK(t TransformFuncByObject, scheme *runtime.Scheme) (internal.TransformFuncByObject, error) {
259+
func convertToTransformByKindAndGVK(t TransformFuncByObject, scheme *runtime.Scheme) (*internal.TransformFuncByObject, error) {
260260
result := internal.NewTransformFuncByObject()
261261
for obj, transformation := range t {
262262
if err := result.Set(obj, scheme, transformation); err != nil {

pkg/cache/internal/deleg_map.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ func NewInformersMap(config *rest.Config,
5252
namespace string,
5353
selectors SelectorsByGVK,
5454
disableDeepCopy DisableDeepCopyByGVK,
55-
transformers TransformFuncByObject,
55+
transformers *TransformFuncByObject,
5656
) *InformersMap {
5757
return &InformersMap{
58-
structured: newStructuredInformersMap(config, scheme, mapper, resync, namespace, selectors, disableDeepCopy, transformers.Get(runtimeObjectKindStructured)),
59-
unstructured: newUnstructuredInformersMap(config, scheme, mapper, resync, namespace, selectors, disableDeepCopy, transformers.Get(runtimeObjectKindUnstructured)),
60-
metadata: newMetadataInformersMap(config, scheme, mapper, resync, namespace, selectors, disableDeepCopy, transformers.Get(runtimeObjectKindMetadata)),
58+
structured: newStructuredInformersMap(config, scheme, mapper, resync, namespace, selectors, disableDeepCopy, transformers.structured),
59+
unstructured: newUnstructuredInformersMap(config, scheme, mapper, resync, namespace, selectors, disableDeepCopy, transformers.unstructured),
60+
metadata: newMetadataInformersMap(config, scheme, mapper, resync, namespace, selectors, disableDeepCopy, transformers.metadata),
6161

6262
Scheme: scheme,
6363
}

pkg/cache/internal/informers_map.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ func newSpecificInformersMap(config *rest.Config,
7070
namespace: namespace,
7171
selectors: selectors.forGVK,
7272
disableDeepCopy: disableDeepCopy,
73+
transformers: transformers,
7374
}
7475
return ip
7576
}

pkg/cache/internal/transformers.go

Lines changed: 18 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -9,57 +9,34 @@ import (
99
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
1010
)
1111

12-
type runtimeObjectKind int
13-
14-
const (
15-
// prefixed names since there are packages with these names that conflict
16-
runtimeObjectKindStructured runtimeObjectKind = iota
17-
runtimeObjectKindUnstructured
18-
runtimeObjectKindMetadata
19-
)
20-
21-
func runtimeObjectKindForObject(obj runtime.Object) runtimeObjectKind {
22-
switch obj.(type) {
23-
case *unstructured.Unstructured:
24-
return runtimeObjectKindUnstructured
25-
case *unstructured.UnstructuredList:
26-
return runtimeObjectKindUnstructured
27-
case *metav1.PartialObjectMetadata:
28-
return runtimeObjectKindMetadata
29-
case *metav1.PartialObjectMetadataList:
30-
return runtimeObjectKindMetadata
31-
default:
32-
return runtimeObjectKindStructured
33-
}
12+
type TransformFuncByObject struct {
13+
structured TransformFuncByGVK
14+
unstructured TransformFuncByGVK
15+
metadata TransformFuncByGVK
3416
}
35-
36-
type TransformFuncByObject map[runtimeObjectKind]map[schema.GroupVersionKind]cache.TransformFunc
3717
type TransformFuncByGVK map[schema.GroupVersionKind]cache.TransformFunc
3818

39-
func NewTransformFuncByObject() TransformFuncByObject {
40-
return TransformFuncByObject{}
19+
func NewTransformFuncByObject() *TransformFuncByObject {
20+
return &TransformFuncByObject{
21+
structured: TransformFuncByGVK{},
22+
unstructured: TransformFuncByGVK{},
23+
metadata: TransformFuncByGVK{},
24+
}
4125
}
4226

4327
func (t TransformFuncByObject) Set(obj runtime.Object, scheme *runtime.Scheme, transformer cache.TransformFunc) error {
44-
kind := runtimeObjectKindForObject(obj)
45-
existing, ok := t[kind]
46-
if !ok {
47-
existing = TransformFuncByGVK{}
48-
t[kind] = existing
49-
}
50-
51-
gvk, err := apiutil.GVKForObject(obj, nil)
28+
gvk, err := apiutil.GVKForObject(obj, scheme)
5229
if err != nil {
5330
return err
5431
}
5532

56-
existing[gvk] = transformer
57-
return nil
58-
}
59-
60-
func (t TransformFuncByObject) Get(kind runtimeObjectKind) TransformFuncByGVK {
61-
if val, ok := t[kind]; ok {
62-
return val
33+
switch obj.(type) {
34+
case *unstructured.Unstructured, *unstructured.UnstructuredList:
35+
t.unstructured[gvk] = transformer
36+
case *metav1.PartialObjectMetadata, *metav1.PartialObjectMetadataList:
37+
t.metadata[gvk] = transformer
38+
default:
39+
t.structured[gvk] = transformer
6340
}
6441
return nil
6542
}

pkg/controller/controllertest/util.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,7 @@ func (f *FakeInformer) LastSyncResourceVersion() string {
111111
func (f *FakeInformer) SetWatchErrorHandler(cache.WatchErrorHandler) error {
112112
return nil
113113
}
114+
115+
func (f *FakeInformer) SetTransform(t cache.TransformFunc) error {
116+
return nil
117+
}

0 commit comments

Comments
 (0)