Merge pull request #35136 from ripcurld0/refactor_plugin_store_get

Refactor plugin store to reduce nested if's in Get
Upstream-commit: 34d502eb9e39847b170dc4f9d6598f6bc2627e9b
Component: engine
This commit is contained in:
Yong Tang
2017-10-10 08:07:36 -07:00
committed by GitHub
+11 -17
View File
@@ -111,14 +111,9 @@ func (ps *Store) Remove(p *v2.Plugin) {
// Get returns an enabled plugin matching the given name and capability.
func (ps *Store) Get(name, capability string, mode int) (plugingetter.CompatPlugin, error) {
var (
p *v2.Plugin
err error
)
// Lookup using new model.
if ps != nil {
p, err = ps.GetV2Plugin(name)
p, err := ps.GetV2Plugin(name)
if err == nil {
p.AddRefCount(mode)
if p.IsEnabled() {
@@ -133,19 +128,18 @@ func (ps *Store) Get(name, capability string, mode int) (plugingetter.CompatPlug
}
}
// Lookup using legacy model.
if allowV1PluginsFallback {
p, err := plugins.Get(name, capability)
if err != nil {
if errors.Cause(err) == plugins.ErrNotFound {
return nil, errNotFound(name)
}
return nil, errors.Wrap(systemError{err}, "legacy plugin")
}
return p, nil
if !allowV1PluginsFallback {
return nil, errNotFound(name)
}
return nil, err
p, err := plugins.Get(name, capability)
if err == nil {
return p, nil
}
if errors.Cause(err) == plugins.ErrNotFound {
return nil, errNotFound(name)
}
return nil, errors.Wrap(systemError{err}, "legacy plugin")
}
// GetAllManagedPluginsByCap returns a list of managed plugins matching the given capability.