Переглянути джерело

Fix Sonar warning

plugin_context
Decebal Suiu 1 рік тому
джерело
коміт
5b7705d86b
1 змінених файлів з 15 додано та 10 видалено
  1. 15
    10
      pf4j/src/main/java/org/pf4j/DefaultPluginFactory.java

+ 15
- 10
pf4j/src/main/java/org/pf4j/DefaultPluginFactory.java Переглянути файл

@@ -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);
}

Завантаження…
Відмінити
Зберегти