]> source.dussan.org Git - pf4j.git/commitdiff
Resolve #292
authorDecebal Suiu <decebal.suiu@gmail.com>
Fri, 29 Mar 2019 17:55:17 +0000 (19:55 +0200)
committerDecebal Suiu <decebal.suiu@gmail.com>
Fri, 29 Mar 2019 17:55:29 +0000 (19:55 +0200)
pf4j/src/main/java/org/pf4j/AbstractPluginManager.java
pf4j/src/main/java/org/pf4j/PluginManager.java

index c17fdab5d376f00b32191c6c62b6aa70bea0f2a0..ba12eef9dd95552c07cd1d60f7f8a1cc1b274892 100644 (file)
@@ -173,25 +173,19 @@ public abstract class AbstractPluginManager implements PluginManager {
     }
 
     @Override
-    public String loadPlugin(Path pluginPath) {
+    public String loadPlugin(Path pluginPath) throws PluginException {
         if ((pluginPath == null) || Files.notExists(pluginPath)) {
             throw new IllegalArgumentException(String.format("Specified plugin %s does not exist!", pluginPath));
         }
 
         log.debug("Loading plugin from '{}'", pluginPath);
 
-        try {
-            PluginWrapper pluginWrapper = loadPluginFromPath(pluginPath);
+        PluginWrapper pluginWrapper = loadPluginFromPath(pluginPath);
 
-            // try to resolve  the loaded plugin together with other possible plugins that depend on this plugin
-            resolvePlugins();
+        // try to resolve  the loaded plugin together with other possible plugins that depend on this plugin
+        resolvePlugins();
 
-            return pluginWrapper.getDescriptor().getPluginId();
-        } catch (PluginException e) {
-            log.error(e.getMessage(), e);
-        }
-
-        return null;
+        return pluginWrapper.getDescriptor().getPluginId();
     }
 
     /**
index 6bb6085e204607f77d9d72e9e903c29355f0916f..c2cbacceca8baa1e8ba5ede026bf36c5412f49a0 100644 (file)
@@ -70,9 +70,10 @@ public interface PluginManager {
      *
      * @param pluginPath the plugin location
      * @return the pluginId of the installed plugin as specified in
-     *     its {@linkplain PluginDescriptor metadata}; or {@code null}
+     *     its {@linkplain PluginDescriptor metadata}
+     *  @throws PluginException if load of plugin fails
      */
-    String loadPlugin(Path pluginPath);
+    String loadPlugin(Path pluginPath) throws PluginException;
 
     /**
      * Start all active plugins.