]> source.dussan.org Git - pf4j.git/commitdiff
Resolve #199
authorDecebal Suiu <decebal.suiu@gmail.com>
Mon, 19 Mar 2018 18:21:35 +0000 (20:21 +0200)
committerDecebal Suiu <decebal.suiu@gmail.com>
Mon, 19 Mar 2018 18:21:35 +0000 (20:21 +0200)
pf4j/src/main/java/org/pf4j/AbstractPluginManager.java
pf4j/src/main/java/org/pf4j/DefaultPluginDescriptor.java
pf4j/src/main/java/org/pf4j/ManifestPluginDescriptorFinder.java
pf4j/src/main/java/org/pf4j/Plugin.java
pf4j/src/main/java/org/pf4j/PropertiesPluginDescriptorFinder.java

index 99aff8cc27b51a5ae0080608ec38acb0aef4f162..57f1c86ca287fa9d64bddca5ef01e6a13fa2b7b5 100644 (file)
@@ -887,10 +887,6 @@ public abstract class AbstractPluginManager implements PluginManager {
             throw new PluginException("Field 'id' cannot be empty");
         }
 
-        if (StringUtils.isNullOrEmpty(descriptor.getPluginClass())) {
-            throw new PluginException("Field 'class' cannot be empty");
-        }
-
         if (descriptor.getVersion() == null) {
             throw new PluginException("Field 'version' cannot be empty");
         }
index 61a7d2a9de7c11aabf7aaa286ea45c666eebc3ed..4d81a8d7ea7725923d751121a12e1ffef9cfbb39 100644 (file)
@@ -26,7 +26,7 @@ public class DefaultPluginDescriptor implements PluginDescriptor {
 
     private String pluginId;
     private String pluginDescription;
-    private String pluginClass;
+    private String pluginClass = Plugin.class.getName();
     private String version;
     private String requires = "*"; // SemVer format
     private String provider;
@@ -37,15 +37,6 @@ public class DefaultPluginDescriptor implements PluginDescriptor {
         dependencies = new ArrayList<>();
     }
 
-    /**
-     * @param pluginId
-     * @param pluginDescription
-     * @param pluginClass
-     * @param version
-     * @param requires
-     * @param provider
-     * @param license
-     */
     public DefaultPluginDescriptor(String pluginId, String pluginDescription, String pluginClass, String version, String requires, String provider, String license) {
         this();
         this.pluginId = pluginId;
index e2f26c90735fbc1cb68223da8d759fb98d9f4c17..d6ef17f31fc1767e8e2cb7bfd4e751844c557a84 100644 (file)
@@ -103,7 +103,9 @@ public class ManifestPluginDescriptorFinder implements PluginDescriptorFinder {
         }
 
         String clazz = attributes.getValue("Plugin-Class");
-        pluginDescriptor.setPluginClass(clazz);
+        if (StringUtils.isNotNullOrEmpty(clazz)) {
+            pluginDescriptor.setPluginClass(clazz);
+        }
 
         String version = attributes.getValue("Plugin-Version");
         if (StringUtils.isNotNullOrEmpty(version)) {
index 1972664dcb27b0db41567e02f20465eb3bb58b23..cfaa3435e78b9a1e2fd06ac3a4367a9d63e7a5b2 100644 (file)
@@ -24,7 +24,7 @@ import org.slf4j.LoggerFactory;
  *
  * @author Decebal Suiu
  */
-public abstract class Plugin {
+public class Plugin {
 
     /**
      * Makes logging service available for descending classes.
index 80026b95bf189eb35eda530cf7d6de146d4a3d3b..cedb4aae407b31b93e43b65150337a28a6676b71 100644 (file)
@@ -109,7 +109,9 @@ public class PropertiesPluginDescriptorFinder implements PluginDescriptorFinder
         }
 
         String clazz = properties.getProperty("plugin.class");
-        pluginDescriptor.setPluginClass(clazz);
+        if (StringUtils.isNotNullOrEmpty(clazz)) {
+            pluginDescriptor.setPluginClass(clazz);
+        }
 
         String version = properties.getProperty("plugin.version");
         if (StringUtils.isNotNullOrEmpty(version)) {