Refactor plugin store to reduce nested if's in Get
This patch removes the nested if's in the Get function and makes the code more readable. Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com> Upstream-commit: 36ebf9489c3c6c8422d8ff9bb6e2cb65a9a66698 Component: engine
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user