@@ -57,9 +57,6 @@ import (
5757 "k8s.io/client-go/tools/cache"
5858 "k8s.io/apimachinery/pkg/labels"
5959 "k8s.io/apimachinery/pkg/api/errors"
60- {{if .kind.IsNamespaced }}
61- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
62- {{end -}}
6360
6461 {{.group.PackageAlias}} "{{.apiPackagePath}}/{{.group.Group.PackageName}}/{{.group.Version.PackageName}}"
6562 {{if .useUpstreamInterfaces -}}
@@ -126,24 +123,9 @@ type {{.kind.String | lowerFirst}}Lister struct {
126123
127124// List lists all {{.kind.Plural}} in the indexer for a workspace.
128125func (s *{{.kind.String | lowerFirst}}Lister) List(selector labels.Selector) (ret []*{{.group.PackageAlias}}.{{.kind.String}}, err error) {
129- selectAll := selector == nil || selector.Empty()
130-
131- list, err := s.indexer.ByIndex(kcpcache.ClusterIndexName, kcpcache.ClusterIndexKey(s.cluster))
132- if err != nil {
133- return nil, err
134- }
135-
136- for i := range list {
137- obj := list[i].(*{{.group.PackageAlias}}.{{.kind.String}})
138- if selectAll {
139- ret = append(ret, obj)
140- } else {
141- if selector.Matches(labels.Set(obj.GetLabels())) {
142- ret = append(ret, obj)
143- }
144- }
145- }
146-
126+ err = kcpcache.ListAllByCluster(s.indexer, s.cluster, selector, func(i interface{}) {
127+ ret = append(ret, i.(*{{.group.PackageAlias}}.{{.kind.String}}))
128+ })
147129 return ret, err
148130}
149131
@@ -192,28 +174,9 @@ type {{.kind.String | lowerFirst}}NamespaceLister struct {
192174
193175// List lists all {{.kind.Plural}} in the indexer for a given workspace and namespace.
194176func (s *{{.kind.String | lowerFirst}}NamespaceLister) List(selector labels.Selector) (ret []*{{.group.PackageAlias}}.{{.kind.String}}, err error) {
195- selectAll := selector == nil || selector.Empty()
196-
197- var list []interface{}
198- if s.namespace == metav1.NamespaceAll {
199- list, err = s.indexer.ByIndex(kcpcache.ClusterIndexName, kcpcache.ClusterIndexKey(s.cluster))
200- } else {
201- list, err = s.indexer.ByIndex(kcpcache.ClusterAndNamespaceIndexName, kcpcache.ClusterAndNamespaceIndexKey(s.cluster, s.namespace))
202- }
203- if err != nil {
204- return nil, err
205- }
206-
207- for i := range list {
208- obj := list[i].(*{{.group.PackageAlias}}.{{.kind.String}})
209- if selectAll {
210- ret = append(ret, obj)
211- } else {
212- if selector.Matches(labels.Set(obj.GetLabels())) {
213- ret = append(ret, obj)
214- }
215- }
216- }
177+ err = kcpcache.ListAllByClusterAndNamespace(s.indexer, s.cluster, s.namespace, selector, func(i interface{}) {
178+ ret = append(ret, i.(*{{.group.PackageAlias}}.{{.kind.String}}))
179+ })
217180 return ret, err
218181}
219182
0 commit comments