From: <jbo...@li...> - 2005-12-18 14:45:57
|
Author: wrzep Date: 2005-12-18 09:45:47 -0500 (Sun, 18 Dec 2005) New Revision: 1844 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/Status.java Log: switched to use XmlTools instead of my own parsing functions http://jira.jboss.com/jira/browse/JBLAB-415 Pawel 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 14:27:51 UTC (rev 1843) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-18 14:45:47 UTC (rev 1844) @@ -23,10 +23,7 @@ package org.jboss.forge.status; import java.util.HashMap; -import java.util.Iterator; import java.util.Map; -import java.util.Set; - import org.jboss.forge.common.XmlTools; import org.jboss.forge.common.projects.Projects; import org.jboss.forge.status.plugins.InvalidPluginPropertiesException; @@ -35,6 +32,7 @@ import org.jboss.logging.Logger; import org.w3c.dom.Node; +import org.w3c.dom.NodeList; /** * @author Pawel Wrzeszcz @@ -42,6 +40,8 @@ public class Plugins {; + private final static String PLUGIN_ELEMENT = "plugin"; + private final static String PLUGIN_ID_ELEMENT = "id"; private final static String PLUGIN_NAME_ELEMENT = "name"; private final static String PLUGIN_CLASS_ELEMENT = "class"; @@ -54,7 +54,7 @@ private Logger log; - public Plugins(Set<Node> pluginsNodes, Projects projects, boolean scorePlugins) { + public Plugins(NodeList pluginNodes, Projects projects, boolean scorePlugins) { this.projects = projects; @@ -63,7 +63,7 @@ plugins = new HashMap<String,Plugin>(); statusPlugins = new HashMap<String,Plugin>(); - putAll(pluginsNodes, scorePlugins); + putAll(pluginNodes, scorePlugins); } private Plugin getPlugin(Node pluginNode, boolean scorePlugin) { @@ -111,12 +111,18 @@ } public Plugin get(String pluginId) { + return plugins.get(pluginId); } - public void putAll(Set<Node> pluginsNodes, boolean scorePlugins) { - for (Iterator iter = pluginsNodes.iterator(); iter.hasNext();) { - Node pluginNode = (Node) iter.next(); + public void putAll(NodeList pluginNodes, boolean scorePlugins) { + + for (int i = 0; i < pluginNodes.getLength(); i++) { + Node pluginNode = pluginNodes.item(i); + + if (pluginNode.getNodeName() != PLUGIN_ELEMENT) { + continue; + } Plugin plugin = getPlugin(pluginNode, scorePlugins); 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 14:27:51 UTC (rev 1843) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-18 14:45:47 UTC (rev 1844) @@ -41,8 +41,6 @@ * @author Pawel Wrzeszcz */ public class Status extends AbstractDescriptor { - - private final static String PLUGIN_ELEMENT = "plugin"; private static final String MAIN_PAGE_COLLUMNS_TAG = "main"; //private static final String PROJECT_PAGE_COLLUMNS_TAG = "project"; @@ -55,39 +53,22 @@ Status(String portalName, Node statusRoot, Node statusPluginsRoot, Node scorePluginsRoot) { - System.out.println("# 1 #"); - // Get the projects projects = ProjectsHelper.getProjects(portalName); // Get the status plugins - Set<Node> statusPluginsNodes = getPluginsNodes(statusPluginsRoot); + NodeList statusPluginsNodes = statusPluginsRoot.getChildNodes(); plugins = new Plugins(statusPluginsNodes, projects, false); - System.out.println("# 2 #"); - // Add the score plugins - Set<Node> scorePluginsNodes = getPluginsNodes(scorePluginsRoot); + NodeList scorePluginsNodes = scorePluginsRoot.getChildNodes(); plugins.putAll(scorePluginsNodes, true); - System.out.println("# 3 #"); - // Get columns to display Node pageRoot = XmlTools.getFirstNodeWithName(statusRoot, MAIN_PAGE_COLLUMNS_TAG); mainPageColumns = new Columns(pageRoot, plugins, projects); - - System.out.println("# 4 #"); } - private Set<Node> getPluginsNodes(Node pluginsRoot) { - - HashSet<String> pluginElementSet = new HashSet<String>(); - pluginElementSet.add(PLUGIN_ELEMENT); - Set<Node> pluginsNodes = getChildNodesSet(pluginsRoot, pluginElementSet); - - return pluginsNodes; - } - /** * Fills the given context with podcast information. * @@ -96,29 +77,4 @@ public void fillContext(DelegateContext context) { mainPageColumns.fillContext(context); } - - /** - * For the given Node, computes Set of it's child Nodes. - * Only child Nodes with names included in <code>nodesNames</code> Set - * appear in computed Set. - * - * @param root - * @param nodesNames - * @return Set containing <code>root</code>'s child Nodes, - * but only those with names included in <code>nodeNames</code> Set - */ - private Set<Node> getChildNodesSet(Node root, Set<String> nodesNames) { - HashSet<Node> ret = new HashSet<Node>(); - NodeList list = root.getChildNodes(); - - for (int i = 0; i < list.getLength(); i++) { - Node n = list.item(i); - if ((n.getNodeType() == Node.ELEMENT_NODE) - && (nodesNames.contains(n.getNodeName()))) { - ret.add(n); - } - } - - return ret; - } } |