From: <jbo...@li...> - 2005-12-18 22:16:08
|
Author: wrzep Date: 2005-12-18 17:16:03 -0500 (Sun, 18 Dec 2005) New Revision: 1850 Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java Log: comments, minor implementation improvments http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-18 17:44:53 UTC (rev 1849) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-18 22:16:03 UTC (rev 1850) @@ -27,23 +27,51 @@ /** * @author Pawel Wrzeszcz +* Superclass for Status Matrix Plugins. */ public abstract class Plugin { + /** Node from xml file which holds properties specyfic to this plugin */ protected Node propertiesNode; + /** Plugin name */ protected String name; + + /** Plugin id */ protected String id; + /** + * @param name Plugin name + * @param id Plugin id + * @param propertiesNode Node with plugin specyfic properties + * @throws InvalidPluginPropertiesException + * Thrown when properties passed in <code>propertiesNode</code> + * are incorrect or missed. + */ public void init(String name, String id, Node propertiesNode) throws InvalidPluginPropertiesException { this.propertiesNode = propertiesNode; this.name = name; this.id = id; } + /** + * For the given project returns value specyfic to this plugin. + * + * @param projectId project id + * @return value computed by plugin for the project + * with the given <code>projectId</code>. + */ public abstract int getValue(String projectId); + /** + * @return Plugin id + */ public String getId() { return id; }; + + + /** + * @return Plugin name + */ public String getName() { return name; }; } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-18 17:44:53 UTC (rev 1849) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-18 22:16:03 UTC (rev 1850) @@ -36,6 +36,7 @@ /** * @author Pawel Wrzeszcz +* A class handling plugins used by the Status Matrix. */ public class Plugins {; @@ -47,26 +48,41 @@ private final static String PLUGIN_CLASS_ELEMENT = "class"; private final static String PLUGIN_PROPERTIES_ELEMENT = "properties"; - Map<String, Plugin> plugins; + /** + * All plugins stored in this class. + */ + Map<String, Plugin> allPlugins; + + /** + * All status plugins stored in this class. + */ Map<String, Plugin> statusPlugins; + /** + * Projects present in the Status Matrix. + */ Projects projects; private Logger log; - public Plugins(NodeList pluginNodes, Projects projects, boolean scorePlugins) { + /** + * @param pluginsNode Node with plugins definitions + * @param projects Projects present in the Status Matrix. + * @param scorePlugins flag indicating whether plugins are ScorePlugins. + */ + public Plugins(Node pluginsNode, Projects projects, boolean scorePlugins) { this.projects = projects; log = Logger.getLogger(this.getClass()); - plugins = new HashMap<String,Plugin>(); + allPlugins = new HashMap<String,Plugin>(); statusPlugins = new HashMap<String,Plugin>(); - putAll(pluginNodes, scorePlugins); + putAll(pluginsNode, scorePlugins); } -private Plugin getPlugin(Node pluginNode, boolean scorePlugin) { + private Plugin getPlugin(Node pluginNode, boolean scorePlugin) { // Get plugin info from pluginNode @@ -112,11 +128,13 @@ public Plugin get(String pluginId) { - return plugins.get(pluginId); + return allPlugins.get(pluginId); } - public void putAll(NodeList pluginNodes, boolean scorePlugins) { + public void putAll(Node pluginsNode, boolean scorePlugins) { + NodeList pluginNodes = pluginsNode.getChildNodes(); + for (int i = 0; i < pluginNodes.getLength(); i++) { Node pluginNode = pluginNodes.item(i); @@ -127,7 +145,7 @@ Plugin plugin = getPlugin(pluginNode, scorePlugins); if (plugin != null) { - plugins.put(plugin.getId(), plugin); + allPlugins.put(plugin.getId(), plugin); if (!scorePlugins) { statusPlugins.put(plugin.getId(), plugin); } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-18 17:44:53 UTC (rev 1849) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-18 22:16:03 UTC (rev 1850) @@ -31,7 +31,6 @@ import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; -import org.w3c.dom.NodeList; /** @@ -58,14 +57,10 @@ // Get the projects Projects projects = ProjectsHelper.getProjects(portalName); - // Get the status plugins - NodeList statusPluginsNodes = statusPluginsRoot.getChildNodes(); - plugins = new Plugins(statusPluginsNodes, projects, false); + // Get the status and score plugins + plugins = new Plugins(statusPluginsRoot, projects, false); + plugins.putAll(scorePluginsRoot, true); - // Add the score plugins - NodeList scorePluginsNodes = scorePluginsRoot.getChildNodes(); - plugins.putAll(scorePluginsNodes, true); - // Get columns to display Node pageRoot = XmlTools.getFirstNodeWithName(statusRoot, MAIN_PAGE_COLLUMNS_TAG); mainPageColumns = new Columns(pageRoot, plugins, projects); |