From: <jbo...@li...> - 2005-12-19 11:42:31
|
Author: wrzep Date: 2005-12-19 06:42:12 -0500 (Mon, 19 Dec 2005) New Revision: 1861 Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java 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/Status.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/KosmosStatusPlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/OneStatusPlugin.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 trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java Log: changes in Plugin interface for Rysiek http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -62,6 +62,6 @@ */ public void fillProjectContext(DelegateContext projectContext, String projectId) { DelegateContext entryContext = projectContext.next("entry"); - entryContext.put("value", plugin.getValue(projectId)); + entryContext.put("value", Long.toString(plugin.getValue(projectId))); } } 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 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -31,6 +31,7 @@ import org.jboss.forge.common.projects.Projects; 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.portal.common.context.DelegateContext; import org.w3c.dom.Node; @@ -49,16 +50,31 @@ private Projects projects; /** + * ScorePlugin, which determine projects order in the Matrix + */ + private ScorePlugin orderPlugin; + + /** * @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; + + // Get the columns + columns = new ArrayList<Column>(); + //Node columnsRoot = XmlTools.getFirstNodeWithName(pageRoot, + // StatusTags.COLUMNS_ELEMENT); + addColumns(pageRoot, plugins); - columns = new ArrayList<Column>(); + // Get the plugin determining projects order + orderPlugin = getOrderPlugin(pageRoot); + } + + private void addColumns(Node columnsRoot, Plugins plugins) { - NodeList columnsList = pageRoot.getChildNodes(); + NodeList columnsList = columnsRoot.getChildNodes(); for (int i = 0; i < columnsList.getLength(); i++) { Node columnNode = columnsList.item(i); @@ -68,11 +84,18 @@ String pluginId = XmlTools.getChildNodeValue(columnNode, "plugin"); Plugin plugin = plugins.get(pluginId); - Column column = new Column(name,plugin); - columns.add(column); + if (plugin != null) { + Column column = new Column(name,plugin); + columns.add(column); + } + } } } + + private ScorePlugin getOrderPlugin(Node pageRoot) { + return null; + } /** * 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 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -38,17 +38,21 @@ /** Plugin id */ protected String id; + protected String portalName; + /** * @param id Plugin id + * @param portalName TODO * @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 id, Node propertiesNode) + public void init(String id, String portalName, Node propertiesNode) throws InvalidPluginPropertiesException { this.propertiesNode = propertiesNode; this.id = id; + this.portalName = portalName; } /** @@ -58,7 +62,7 @@ * @return value computed by plugin for the project * with the given <code>projectId</code>. */ - public abstract int getValue(String projectId); + public abstract long getValue(String projectId); /** * @return Plugin id 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 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -69,7 +69,7 @@ * @param projects Projects present in the Status Matrix * @param scorePlugins flag indicating whether plugins are ScorePlugins */ - public Plugins(Node pluginsNode, Projects projects, boolean scorePlugins) { + public Plugins(Node pluginsNode, String portalName, Projects projects, boolean scorePlugins) { this.projects = projects; @@ -78,7 +78,7 @@ allPlugins = new HashMap<String,Plugin>(); statusPlugins = new HashMap<String,Plugin>(); - addAll(pluginsNode, scorePlugins); + addAll(pluginsNode, portalName, scorePlugins); } /** @@ -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, boolean scorePlugin) { + private Plugin getPlugin(Node pluginNode, String portalName, boolean scorePlugin) { // Get plugin info from pluginNode @@ -112,9 +112,9 @@ plugin = (Plugin) pluginClass.newInstance(); if (scorePlugin) { - ((ScorePlugin) plugin).init(pluginId, statusPlugins, pluginSpecificPropertiesNode); + ((ScorePlugin) plugin).init(pluginId, portalName, statusPlugins, pluginSpecificPropertiesNode); } else { /* status plugin */ - ((StatusPlugin) plugin).init(pluginId, projects, pluginSpecificPropertiesNode); + ((StatusPlugin) plugin).init(pluginId, portalName, projects, pluginSpecificPropertiesNode); } } catch (InvalidPluginPropertiesException e) { @@ -146,7 +146,7 @@ * @param pluginsNode Node with plugins definitions * @param scorePlugins flag indicating whether plugins are ScorePlugins */ - public void addAll(Node pluginsNode, boolean scorePlugins) { + public void addAll(Node pluginsNode, String portalName, boolean scorePlugins) { NodeList pluginNodes = pluginsNode.getChildNodes(); @@ -157,7 +157,7 @@ continue; } - Plugin plugin = getPlugin(pluginNode, scorePlugins); + Plugin plugin = getPlugin(pluginNode, portalName, scorePlugins); if (plugin != null) { allPlugins.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-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -40,7 +40,7 @@ public class Status extends AbstractDescriptor { private static final String MAIN_PAGE_COLLUMNS_TAG = "main"; - //private static final String PROJECT_PAGE_COLLUMNS_TAG = "project"; + //private static final String PROJECT_PAGE_COLLUMNS_TAG = "project-page"; //TODO displaying project-specyfic pages /** Columns to display on the main page */ @@ -58,8 +58,8 @@ Projects projects = ProjectsHelper.getProjects(portalName); // Get the status and score plugins - plugins = new Plugins(statusPluginsRoot, projects, false); - plugins.addAll(scorePluginsRoot, true); + plugins = new Plugins(statusPluginsRoot, portalName, projects, false); + plugins.addAll(scorePluginsRoot, portalName, true); // Get columns to display Node pageRoot = XmlTools.getFirstNodeWithName(statusRoot, MAIN_PAGE_COLLUMNS_TAG); Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -46,16 +46,10 @@ public StatusDescriptor(String portalName, ContentManager cm) { try { String statusPath = StatusTools.getXmlCmPath(portalName); - //System.out.println("statusPath: " + statusPath); Node statusRoot = getRoot(cm , statusPath); - //System.out.println("statusRoot: " + XmlTools.unmarshallText(statusRoot)); - //System.out.println("statusRoot: " + statusRoot); String statusPluginsPath = StatusTools.getXmlStatusPluginsCmPath(portalName); Node statusPluginsRoot = getRoot(cm, statusPluginsPath); - //System.out.println("statusPluginsPath: " + statusPluginsPath); - //System.out.println("statusPluginsRoot: " + statusPluginsRoot); - //System.out.println("statusPluginsRoot: " + XmlTools.unmarshallText(statusPluginsRoot)); String scorePluginsPath = StatusTools.getXmlScorePluginsCmPath(portalName); Node scorePluginsRoot = getRoot(cm, scorePluginsPath); Added: 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 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -0,0 +1,37 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2005, JBoss Inc., and individual contributors as indicated + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.jboss.forge.status; + +/** +* @author Pawel Wrzeszcz +* A class which handles Status Matrix information managment. +*/ +public class StatusTags { + + public static final String COLUMNS_ELEMENT = "columns"; + + /** + * This class cannot be instatiated. + */ + private StatusTags() {}; +} \ No newline at end of file Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/KosmosStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/KosmosStatusPlugin.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/KosmosStatusPlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -61,9 +61,9 @@ projectMaps = new HashMap<String,Map>(); } - public void init(String id, Projects projects, + public void init(String id, String portalName, Projects projects, Node propertiesNode) throws InvalidPluginPropertiesException { - super.init(id, projects,propertiesNode); + super.init(id, portalName, projects,propertiesNode); getServiceProperty(propertiesNode); } @@ -119,7 +119,7 @@ /* (non-Javadoc) * @see org.jboss.forge.status.Plugin#getValue(java.lang.String) */ - public int getValue(String projectId) { + public long getValue(String projectId) { if (!projectMaps.containsKey(projectId)) { projectMaps.put(projectId, getProjectMap(projectId)); Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/OneStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/OneStatusPlugin.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/OneStatusPlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -32,6 +32,6 @@ super(); }; - public int getValue(String projectId) { return -1; } ; + public long getValue(String projectId) { return -1; } ; } 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 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -35,8 +35,8 @@ protected Map<String,Plugin> plugins; - public void init(String id, Map<String, Plugin> plugins, Node propertiesNode) throws InvalidPluginPropertiesException { + public void init(String id, String portalName, Map<String, Plugin> plugins, Node propertiesNode) throws InvalidPluginPropertiesException { this.plugins = plugins; - init(id, propertiesNode); + init(id, portalName, 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 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -46,8 +46,8 @@ * @param propertiesNode Node with plugin specyfic properties * @throws InvalidPluginPropertiesException */ - public void init(String id, Projects projects, Node propertiesNode) throws InvalidPluginPropertiesException { + public void init(String id, String portalName, Projects projects, Node propertiesNode) throws InvalidPluginPropertiesException { this.projects = projects; - init(id, propertiesNode); + init(id, null, propertiesNode); } } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -36,7 +36,7 @@ super(); } - public int getValue(String projectId) { + public long getValue(String projectId) { int total = 0; for (Iterator iter = plugins.values().iterator(); iter.hasNext();) { |