]> source.dussan.org Git - pf4j.git/commitdiff
Add an optional description to the manifest 13/head
authorJames Moger <james.moger@gitblit.com>
Sat, 12 Apr 2014 14:58:16 +0000 (10:58 -0400)
committerJames Moger <james.moger@gitblit.com>
Sat, 12 Apr 2014 14:58:16 +0000 (10:58 -0400)
pf4j/src/main/java/ro/fortsoft/pf4j/ManifestPluginDescriptorFinder.java
pf4j/src/main/java/ro/fortsoft/pf4j/PluginDescriptor.java

index fd827939df0d078a2aeb9662fa69c9ad79a924ec..2de42f51bbd498b977d15cdf117ea53c9eebe403 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Copyright 2012 Decebal Suiu
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with
  * the License. You may obtain a copy of the License in the LICENSE file, or at:
- * 
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
  * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations under the License.
@@ -32,9 +32,9 @@ import ro.fortsoft.pf4j.util.StringUtils;
 public class ManifestPluginDescriptorFinder implements PluginDescriptorFinder {
 
        private static final Logger log = LoggerFactory.getLogger(ManifestPluginDescriptorFinder.class);
-       
+
        private PluginClasspath pluginClasspath;
-       
+
        public ManifestPluginDescriptorFinder(PluginClasspath pluginClasspath) {
                this.pluginClasspath = pluginClasspath;
        }
@@ -53,9 +53,9 @@ public class ManifestPluginDescriptorFinder implements PluginDescriptorFinder {
                try {
                        input = new FileInputStream(manifestFile);
                } catch (FileNotFoundException e) {
-                       // not happening 
+                       // not happening
                }
-               
+
        Manifest manifest = null;
         try {
             manifest = new Manifest(input);
@@ -67,10 +67,10 @@ public class ManifestPluginDescriptorFinder implements PluginDescriptorFinder {
                        } catch (IOException e) {
                                throw new PluginException(e.getMessage(), e);
                        }
-        } 
-        
+        }
+
         PluginDescriptor pluginDescriptor = new PluginDescriptor();
-        
+
         // TODO validate !!!
         Attributes attrs = manifest.getMainAttributes();
         String id = attrs.getValue("Plugin-Id");
@@ -78,25 +78,32 @@ public class ManifestPluginDescriptorFinder implements PluginDescriptorFinder {
                throw new PluginException("Plugin-Id cannot be empty");
         }
         pluginDescriptor.setPluginId(id);
-        
+
+        String description = attrs.getValue("Plugin-Description");
+        if (StringUtils.isEmpty(description)) {
+               pluginDescriptor.setPluginDescription("");
+        } else {
+            pluginDescriptor.setPluginDescription(description);
+        }
+
         String clazz = attrs.getValue("Plugin-Class");
         if (StringUtils.isEmpty(clazz)) {
                throw new PluginException("Plugin-Class cannot be empty");
         }
         pluginDescriptor.setPluginClass(clazz);
-        
+
         String version = attrs.getValue("Plugin-Version");
         if (StringUtils.isEmpty(version)) {
                throw new PluginException("Plugin-Version cannot be empty");
         }
         pluginDescriptor.setPluginVersion(PluginVersion.createVersion(version));
-        
+
         String provider = attrs.getValue("Plugin-Provider");
-        pluginDescriptor.setProvider(provider);        
+        pluginDescriptor.setProvider(provider);
         String dependencies = attrs.getValue("Plugin-Dependencies");
         pluginDescriptor.setDependencies(dependencies);
 
                return pluginDescriptor;
        }
-       
+
 }
index 546f0036c86bb495c7e05ad1d8e82ce86e11b91a..cb91f7d67c6d07e9acc4b78e4b4aafa764843500 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Copyright 2012 Decebal Suiu
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with
  * the License. You may obtain a copy of the License in the LICENSE file, or at:
- * 
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
  * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations under the License.
@@ -25,6 +25,7 @@ import java.util.List;
 public class PluginDescriptor {
 
        private String pluginId;
+       private String pluginDescription;
     private String pluginClass;
     private PluginVersion version;
     private String provider;
@@ -41,6 +42,13 @@ public class PluginDescriptor {
         return pluginId;
     }
 
+    /**
+     * Returns the description of this plugin.
+     */
+    public String getPluginDescription() {
+        return pluginDescription;
+    }
+
     /**
      * Returns the name of the class that implements Plugin interface.
      */
@@ -82,6 +90,10 @@ public class PluginDescriptor {
         this.pluginId = pluginId;
     }
 
+       void setPluginDescription(String pluginDescription) {
+        this.pluginDescription = pluginDescription;
+    }
+
     void setPluginClass(String pluginClassName) {
         this.pluginClass = pluginClassName;
     }
@@ -93,7 +105,7 @@ public class PluginDescriptor {
     void setProvider(String provider) {
         this.provider = provider;
     }
-    
+
     void setDependencies(String dependencies) {
        if (dependencies != null) {
                dependencies = dependencies.trim();
@@ -101,7 +113,7 @@ public class PluginDescriptor {
                        this.dependencies = Collections.emptyList();
                } else {
                        this.dependencies = new ArrayList<PluginDependency>();
-                       String[] tokens = dependencies.split(",");              
+                       String[] tokens = dependencies.split(",");
                        for (String dependency : tokens) {
                                dependency = dependency.trim();
                                if (!dependency.isEmpty()) {