Browse Source

Fix Sonar warning

plugin_context
Decebal Suiu 1 year ago
parent
commit
5b7705d86b
1 changed files with 15 additions and 10 deletions
  1. 15
    10
      pf4j/src/main/java/org/pf4j/DefaultPluginFactory.java

+ 15
- 10
pf4j/src/main/java/org/pf4j/DefaultPluginFactory.java View File

@@ -59,18 +59,23 @@ public class DefaultPluginFactory implements PluginFactory {
return createInstance(pluginClass, pluginWrapper);
}

/**
* Creates a plugin instance. If an error occurs than that error is logged and the method returns {@code null}.
*/
protected Plugin createInstance(Class<?> pluginClass, PluginWrapper pluginWrapper) {
try {
try {
Constructor<?> constructor = pluginClass.getConstructor(PluginWrapper.class);
return (Plugin) constructor.newInstance(pluginWrapper);
} catch (NoSuchMethodException e) {
Constructor<?> constructor = pluginClass.getConstructor();
return (Plugin) constructor.newInstance();
}
Constructor<?> constructor = pluginClass.getConstructor(PluginWrapper.class);
return (Plugin) constructor.newInstance(pluginWrapper);
} catch (NoSuchMethodException e) {
return createUsingNoParametersConstructor(pluginClass);
} catch (Exception e) {
log.error(e.getMessage(), e);
}

return null;
}

protected Plugin createUsingNoParametersConstructor(Class<?> pluginClass) {
try {
Constructor<?> constructor = pluginClass.getConstructor();
return (Plugin) constructor.newInstance();
} catch (Exception e) {
log.error(e.getMessage(), e);
}

Loading…
Cancel
Save