some small fix

This commit is contained in:
Chao Xu 2015-12-12 18:02:47 -08:00
parent 114f6f76dc
commit 5ba4f836f8
2 changed files with 3 additions and 7 deletions

View File

@ -154,16 +154,12 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
return clients.ClientConfigForVersion(nil) return clients.ClientConfigForVersion(nil)
}, },
RESTClient: func(mapping *meta.RESTMapping) (resource.RESTClient, error) { RESTClient: func(mapping *meta.RESTMapping) (resource.RESTClient, error) {
gvk, err := api.RESTMapper.KindFor(mapping.Resource)
if err != nil {
return nil, err
}
mappingVersion := mapping.GroupVersionKind.GroupVersion() mappingVersion := mapping.GroupVersionKind.GroupVersion()
client, err := clients.ClientForVersion(&mappingVersion) client, err := clients.ClientForVersion(&mappingVersion)
if err != nil { if err != nil {
return nil, err return nil, err
} }
switch gvk.Group { switch mapping.GroupVersionKind.Group {
case api.GroupName: case api.GroupName:
return client.RESTClient, nil return client.RESTClient, nil
case extensions.GroupName: case extensions.GroupName:

View File

@ -533,7 +533,7 @@ func (b *Builder) visitorResult() *Result {
} }
clients := make(map[string]RESTClient) clients := make(map[string]RESTClient)
for _, mapping := range mappings { for _, mapping := range mappings {
s := fmt.Sprintf("%s/%s", mapping.APIVersion, mapping.Resource) s := fmt.Sprintf("%s/%s", mapping.GroupVersionKind.GroupVersion().String(), mapping.Resource)
if _, ok := clients[s]; ok { if _, ok := clients[s]; ok {
continue continue
} }
@ -550,7 +550,7 @@ func (b *Builder) visitorResult() *Result {
if !ok { if !ok {
return &Result{singular: isSingular, err: fmt.Errorf("resource %q is not recognized: %v", tuple.Resource, mappings)} return &Result{singular: isSingular, err: fmt.Errorf("resource %q is not recognized: %v", tuple.Resource, mappings)}
} }
s := fmt.Sprintf("%s/%s", mapping.APIVersion, mapping.Resource) s := fmt.Sprintf("%s/%s", mapping.GroupVersionKind.GroupVersion().String(), mapping.Resource)
client, ok := clients[s] client, ok := clients[s]
if !ok { if !ok {
return &Result{singular: isSingular, err: fmt.Errorf("could not find a client for resource %q", tuple.Resource)} return &Result{singular: isSingular, err: fmt.Errorf("could not find a client for resource %q", tuple.Resource)}