From: <jbo...@li...> - 2005-12-19 13:21:26
|
Author: wrzep Date: 2005-12-19 08:21:11 -0500 (Mon, 19 Dec 2005) New Revision: 1865 Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 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/StatusTags.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java Log: getting the plugin determining project order http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -32,6 +32,7 @@ import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; import org.jboss.forge.common.projects.permissions.PermissionsChecker; import org.jboss.forge.status.plugins.ScorePlugin; +import org.jboss.logging.Logger; import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; @@ -54,14 +55,19 @@ */ private ScorePlugin orderPlugin; + private Logger log; + /** * @param pageRoot root Node specfying Columns to display * @param plugins Plugins used by Columns * @param projects Projects present in the Status Matrix */ public Columns(Node pageRoot, Plugins plugins, Projects projects) { + this.projects = projects; + log = Logger.getLogger(this.getClass()); + // Get the columns columns = new ArrayList<Column>(); Node columnsRoot = XmlTools.getFirstNodeWithName(pageRoot, @@ -69,7 +75,9 @@ addColumns(columnsRoot, plugins); // Get the plugin determining projects order - orderPlugin = getOrderPlugin(pageRoot); + orderPlugin = getOrderPlugin(pageRoot, plugins); + System.out.println("Order plugin " + + (orderPlugin == null ? "null" : orderPlugin.getId())); } private void addColumns(Node columnsRoot, Plugins plugins) { @@ -92,11 +100,26 @@ } } } - - private ScorePlugin getOrderPlugin(Node pageRoot) { - return null; + + private ScorePlugin getOrderPlugin(Node pageRoot, Plugins plugins) { + + ScorePlugin orderPlugin = null; + String orderPluginId = XmlTools.getChildNodeValue(pageRoot, + StatusTags.ORDER_PLUGIN_ELEMENT); + + if (orderPluginId != null) { + try { + orderPlugin = (ScorePlugin) plugins.get(orderPluginId); + } catch (ClassCastException e) { + log.warn("Order plugin: " + orderPluginId + " should be score plugin."); + } + + } + + return orderPlugin; } + /** * Fills the given context with columns information * 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-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -38,8 +38,6 @@ /** Plugin id */ protected String id; - protected String portalName; - /** * @param id Plugin id * @param portalName TODO @@ -48,11 +46,10 @@ * Thrown when properties passed in <code>propertiesNode</code> * are incorrect or missed. */ - public void init(String id, String portalName, Node propertiesNode) + public void init(String id, Node propertiesNode) throws InvalidPluginPropertiesException { this.propertiesNode = propertiesNode; this.id = id; - this.portalName = portalName; } /** 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-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -88,7 +88,7 @@ * @param scorePlugin flag indicating whether plugin should be ScorePlugin * @return Plugin defined in the <code>pluginNode</code> */ - private Plugin getPlugin(Node pluginNode, String portalName, boolean scorePlugin) { + public Plugin getPlugin(Node pluginNode, String portalName, boolean scorePlugin) { // Get plugin info from pluginNode @@ -112,7 +112,7 @@ plugin = (Plugin) pluginClass.newInstance(); if (scorePlugin) { - ((ScorePlugin) plugin).init(pluginId, portalName, statusPlugins, pluginSpecificPropertiesNode); + ((ScorePlugin) plugin).init(pluginId, statusPlugins, pluginSpecificPropertiesNode); } else { /* status plugin */ ((StatusPlugin) plugin).init(pluginId, portalName, projects, pluginSpecificPropertiesNode); } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -29,6 +29,7 @@ public class StatusTags { public static final String COLUMNS_ELEMENT = "columns"; + public static final String ORDER_PLUGIN_ELEMENT = "order-plugin"; /** * This class cannot be instatiated. Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -35,8 +35,8 @@ protected Map<String,Plugin> plugins; - public void init(String id, String portalName, Map<String, Plugin> plugins, Node propertiesNode) throws InvalidPluginPropertiesException { + public void init(String id, Map<String, Plugin> plugins, Node propertiesNode) throws InvalidPluginPropertiesException { this.plugins = plugins; - init(id, portalName, propertiesNode); + init(id, propertiesNode); } } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -39,6 +39,8 @@ */ protected Projects projects; + protected String portalName; + /** * @param name Plugin name * @param id Plugin id @@ -48,6 +50,7 @@ */ public void init(String id, String portalName, Projects projects, Node propertiesNode) throws InvalidPluginPropertiesException { this.projects = projects; - init(id, null, propertiesNode); + this.portalName = portalName; + init(id, propertiesNode); } } |