Author: wrzep Date: 2006-05-17 16:54:55 -0400 (Wed, 17 May 2006) New Revision: 4290 Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Constants.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Locations.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tags.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tools.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java Removed: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerAsync.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusConfWatcher.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusPortlet.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/jira/JiraStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresService.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresMDB.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginConfImpl.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/ServiceConfImpl.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/CellTemplate.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/Columns.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MatrixTemplate.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MetricTemplate.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/RowTemplate.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerSync.java Log: JBLAB-599 further refactoring Pawel Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -35,6 +35,7 @@ import org.jboss.forge.common.XmlTools; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.exceptions.InvalidPluginsConfigurationException; import org.jboss.forge.status.exceptions.GetScoresException; import org.jboss.forge.status.exceptions.ScoresSaveException; @@ -47,8 +48,7 @@ import org.jboss.forge.status.templates.Columns; import org.jboss.forge.status.templates.MatrixTemplate; import org.jboss.forge.status.tools.ScoresManagerSync; -import org.jboss.forge.status.tools.ScoresManagerAsync; -import org.jboss.forge.status.tools.Tags; +import org.jboss.forge.status.tools.ScoresManager; import org.jboss.logging.Logger; import org.jboss.portal.common.context.DelegateContext; @@ -92,12 +92,12 @@ PluginsValues pluginsValues; try { - // Compute and save current scores + // Get current scores - ScoresManagerAsync.init(portalName, serviceConf); - ScoresManagerAsync.save(projects, pluginsConf); + ScoresManager.init(portalName, serviceConf); + ScoresManager.save(projects, pluginsConf); - pluginsValues = ScoresManagerAsync.getCurrentScores(); + pluginsValues = ScoresManager.getCurrentScores(); } catch (ScoresSaveException e) { log.error("Saving scores failed ", e); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusConfWatcher.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusConfWatcher.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusConfWatcher.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -24,7 +24,7 @@ import java.util.Map; import java.util.Set; -import org.jboss.forge.status.tools.Tools; +import org.jboss.forge.status.common.Locations; import org.jboss.shotoku.cache.ChangeType; import org.jboss.shotoku.cache.ShotokuResourceWatcher; @@ -40,16 +40,16 @@ String portalName = key; - addWatchedPath(key, Tools.getXmlCmPath(portalName)); - addWatchedPath(key, Tools.getXmlStatusPluginsCmPath(portalName)); - addWatchedPath(key, Tools.getServicePropertiesCmPath(portalName)); + addWatchedPath(key, Locations.getXmlCmPath(portalName)); + addWatchedPath(key, Locations.getXmlStatusPluginsCmPath(portalName)); + addWatchedPath(key, Locations.getServicePropertiesCmPath(portalName)); /* Watch projects.xml file */ - addWatchedPath(key, Tools.getProjectsXmlPath(portalName)); + addWatchedPath(key, Locations.getProjectsXmlPath(portalName)); /* Watch all project.xml files. * We assume that they contain entries used by plugins */ - Set<String> projectXmlPathsSet = Tools.getProjectXmlPathsSet(portalName); + Set<String> projectXmlPathsSet = Locations.getProjectXmlPathsSet(portalName); for (String projectXmlPath : projectXmlPathsSet) { addWatchedPath(key, projectXmlPath); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -25,7 +25,7 @@ import java.util.Map; import java.io.IOException; -import org.jboss.forge.status.tools.Tools; +import org.jboss.forge.status.common.Locations; import org.jboss.portal.common.context.DelegateContext; import org.jboss.shotoku.ContentManager; @@ -53,13 +53,13 @@ public StatusDescriptor(String portalName, ContentManager cm) { try { - String statusPath = Tools.getXmlCmPath(portalName); + String statusPath = Locations.getXmlCmPath(portalName); Node statusRoot = getRoot(cm , statusPath); - String pluginsPath = Tools.getXmlStatusPluginsCmPath(portalName); + String pluginsPath = Locations.getXmlStatusPluginsCmPath(portalName); Node pluginsRoot = getRoot(cm, pluginsPath); - String servicePath = Tools.getServicePropertiesCmPath(portalName); + String servicePath = Locations.getServicePropertiesCmPath(portalName); org.jboss.shotoku.Node serviceNode = cm.getNode(servicePath); status = new Status(portalName, statusRoot, pluginsRoot, Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusPortlet.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusPortlet.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusPortlet.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -28,7 +28,9 @@ import javax.portlet.PortletRequestDispatcher; import org.jboss.forge.common.ForgeHelper; -import org.jboss.forge.status.tools.Tools; +import org.jboss.forge.status.common.Locations; +import org.jboss.forge.status.common.Tools; + import org.jboss.portal.common.context.DelegateContext; import org.jboss.portal.core.servlet.jsp.PortalJsp; @@ -62,17 +64,17 @@ DelegateContext context = null; if ((id != null) && (action.equals(PROJECT_DETAILS_ACTION))) { - jspPath = Tools.getPrjDetailsJspCmPath(); + jspPath = Locations.getPrjDetailsJspCmPath(); context = desc.getProjectContext(id); } if ((id != null) && (action.equals(COLUMN_DETAILS_ACTION))) { - jspPath = Tools.getColumnDetailsJspCmPath(); + jspPath = Locations.getColumnDetailsJspCmPath(); context = desc.getColumnContext(id); } if (id == null) { // Request for main Matrix page - jspPath = Tools.getJspCmPath(); + jspPath = Locations.getJspCmPath(); context = desc.getContext(); } Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Constants.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Constants.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Constants.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -0,0 +1,28 @@ +package org.jboss.forge.status.common; + +/** + * @author Pawel Wrzeszcz + */ +public class Constants { + + + /* The length of time to sleep (in milliseconds) + * if requested scores are not available */ + public static final long SLEEP_TIME = 2000; + public static final int MAX_ATTEMPTS = 10; + + public static final String QUEUE_NAME = "queue/jmm"; + + public static final String NAME_PROPERTY = "name"; + public static final String SAVE_MESSAGE = "save"; + public static final String GET_SCORES_MESSAGE = "get"; + + public static final String STATUS_LOCAL_SERVICE = "Status/LocalScoresService"; + public static final String STATUS_REMOTE_SERVICE = "Status/RemoteScoresService"; + + /** + * This class cannot be instatiated. + */ + private Constants() {}; + +} Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Locations.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Locations.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Locations.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -0,0 +1,106 @@ +package org.jboss.forge.status.common; + +import java.util.HashSet; +import java.util.Set; + +import org.jboss.forge.common.ForgeHelper; +import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.common.projects.ProjectsHelper; +import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; +import org.jboss.forge.common.projects.permissions.PermissionsChecker; + +/** + * Common functions. + * @author Pawel Wrzeszcz + */ +public class Locations { + + /** <code>STATUS_XML<code> - file defining the list of watched feeds */ + private final static String STATUS_XML = "status.xml"; + private final static String STATUS_PLUGINS_XML = "plugins.xml"; + private final static String STATUS_SERVICE_PROPERTIES = "service.properties"; + + /** <code>STATUS_DIR</code> - directory in which file <code>STATUS_XML<code> is stored. */ + private final static String STATUS_DIR = "status"; + + private final static String STATUS_JSP = "status.jsp"; + private final static String STATUS_JSP_DIR = "status"; + private final static String PROJECT_DETAILS_JSP = "project_details.jsp"; + private final static String COLUMN_DETAILS_JSP = "column_details.jsp"; + + /** Shotoku directory to store historical scores */ + private static final String SHOTOKU_STATUS_DIR = "status"; + + /** + * Path to the xml file with the Status Matrix properties. + */ + public static String getXmlCmPath(String portalName) { + return portalName + "/" + STATUS_DIR + "/" + STATUS_XML; + } + + /** + * Path to the xml file defining Plugins used in the Matrix. + */ + public static String getXmlStatusPluginsCmPath(String portalName) { + return portalName + "/" + STATUS_DIR + "/" + STATUS_PLUGINS_XML; + } + + /** + * Path to the xml file defining ejb3 service. + */ + public static String getServicePropertiesCmPath(String portalName) { + return portalName + "/" + STATUS_DIR + "/" + Locations.STATUS_SERVICE_PROPERTIES; + } + + /** + * Path to the projects.xml file. + */ + public static String getProjectsXmlPath(String portalName) { + return portalName + "/" + ProjectsHelper.PROJECTS_DESC; + } + + /** + * Set containing paths to project.xml files for all projects. + */ + public static Set<String> getProjectXmlPathsSet(String portalName) { + + Set<String> pathsSet = new HashSet<String>(); + + Projects projects = ProjectsHelper.getProjects(portalName); + Set<String> projectIdsSet = projects.getProjectIds( + (PermissionsChecker) new NullPermissionsChecker(), null); + + for (String projectId : projectIdsSet) { + + String projectXmlPath = portalName + "/" + ProjectsHelper.MEMBERS_DIR + + "/" + projectId + "/" + ProjectsHelper.PROJECT_DESC; + pathsSet.add(projectXmlPath); + } + return pathsSet; + } + + /** + * Path to the jsp file responsible file displaying the Status Matrix. + */ + public static String getJspCmPath() { + return STATUS_JSP_DIR + "/" + STATUS_JSP; + } + + /** + * Path to the jsp file responsible for displaying project details. + */ + public static String getPrjDetailsJspCmPath() { + return STATUS_JSP_DIR + "/" + PROJECT_DETAILS_JSP; + } + + /** + * Path to the jsp file responsible displaying column details. + */ + public static String getColumnDetailsJspCmPath() { + return STATUS_JSP_DIR + "/" + COLUMN_DETAILS_JSP; + } + + public static String getShotokuStatusPath(String portalName) { + return ForgeHelper.DYNAMIC_CONTENT_DIR + "/" + SHOTOKU_STATUS_DIR; + } +} Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tags.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tags.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tags.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -0,0 +1,87 @@ +/* + * 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.common; + +/** +* @author Pawel Wrzeszcz +* Status Matrix xml tags. +*/ +public class Tags { + + /* status.xml file tags */ + + /* main page */ + public static final String MAIN_PAGE_COLUMNS_TAG = "main-page"; + + public final static String COLUMN_ELEMENT = "column"; + public final static String COLUMNS_ELEMENT = "columns"; + public static final String COLUMN_NAME_ELEMENT = "name"; + public static final String COLUMN_PLUGIN_ELEMENT = "plugin"; + + public final static String ORDER_PLUGIN_ELEMENT = "order-plugin"; + + /* project page */ + public static final String PROJECT_PAGE_COLUMNS_TAG = "project-page"; + + public static final String ROWS_ELEMENT = "rows"; + public static final String ROW_ELEMENT = "row"; + public static final String ROW_NAME_ELEMENT = "name"; + + public static final String CELLS_ELEMENT = "cells"; + public static final String CELL_ELEMENT = "cell"; + public static final String CELL_NAME_ELEMENT = "name"; + + public static final String METRICS_ELEMENT = "metrics"; + public static final String METRIC_ELEMENT = "metric"; + public static final String METRIC_NAME_ELEMENT = "name"; + public static final String METRIC_PLUGIN_ELEMENT = "plugin"; + + /* service.xml tags */ + public static final String SERVICE_REMOTE_ELEMENT = "service.remote"; + + /* plugins.xml tags */ + public final static String PLUGIN_ELEMENT = "plugin"; + + public final static String PLUGIN_ID_ELEMENT = "id"; + public final static String PLUGIN_CLASS_ELEMENT = "class"; + public final static String PLUGIN_PROPERTIES_ELEMENT = "properties"; + + /* project.xml files tags */ + public static final String JIRA_SERVICE_PROPERTY = "jira-service"; + public static final String JIRA_ADRESS_TAG = "jira-address"; + public static final String SVN_SERVICE_PROPERTY = "svn-service"; + + public static final String CC_SERVICE_PROPERTY = "cc-service"; + public static final String CC_ADRESS_TAG = "cc-address"; + + public static final String SVN_REPO_ADRESS_TAG = "svn-repo"; + public static final String SVN_USERNAME_TAG = "svn-username"; + public static final String SVN_PASSWD_TAG = "svn-passwd"; + + public static final String STATUS_SERVICE_NAME = "status:service=scores"; + + /** + * This class cannot be instatiated. + */ + private Tags() {}; +} \ No newline at end of file Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tools.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tools.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tools.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -0,0 +1,21 @@ +package org.jboss.forge.status.common; + +import org.jboss.forge.status.StatusDescriptor; +import org.jboss.forge.status.StatusConfWatcher; + +import org.jboss.shotoku.aop.CacheItem; + +/** + * Common functions. + * @author Pawel Wrzeszcz + */ +public class Tools { + + @CacheItem + private static StatusConfWatcher conf; + + public static synchronized StatusDescriptor getDesc(final String portalName) { + return conf.get(portalName); + } + +} Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -25,8 +25,8 @@ import java.util.List; import java.net.MalformedURLException; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.plugins.KosmosStatusPlugin; -import org.jboss.forge.status.tools.Tags; import org.jboss.logging.Logger; import com.caucho.hessian.client.HessianProxyFactory; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -25,8 +25,8 @@ import java.util.Map; import java.util.HashMap; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.plugins.Plugin; -import org.jboss.forge.status.tools.Tags; /** * @author Pawel Wrzeszcz Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/jira/JiraStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/jira/JiraStatusPlugin.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/jira/JiraStatusPlugin.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -25,8 +25,8 @@ import java.util.List; import java.net.MalformedURLException; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.plugins.KosmosStatusPlugin; -import org.jboss.forge.status.tools.Tags; import org.jboss.logging.Logger; import com.caucho.hessian.client.HessianProxyFactory; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -25,8 +25,8 @@ import java.util.List; import java.net.MalformedURLException; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.plugins.KosmosStatusPlugin; -import org.jboss.forge.status.tools.Tags; import org.jboss.logging.Logger; import com.caucho.hessian.client.HessianProxyFactory; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresService.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresService.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresService.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -29,7 +29,6 @@ import org.jboss.forge.status.exceptions.GetScoresException; import org.jboss.forge.status.exceptions.ScoresSaveException; import org.jboss.forge.status.service.protocol.PluginConf; -import org.jboss.forge.status.service.protocol.PluginValues; import org.jboss.forge.status.service.protocol.PluginsValues; /** @@ -37,12 +36,11 @@ */ public interface ScoresService { - public PluginsValues getPluginsValues(String portalName, - Date date) throws GetScoresException; - public void save(Projects projects, List<PluginConf> pluginsConf, - String portalName) throws ScoresSaveException; - - public PluginValues get(String portalName, String pluginId, Date date) - throws GetScoresException; + String portalName) throws ScoresSaveException; + + public PluginsValues getPluginsValues(String portalName, Date date) + throws GetScoresException; + + public boolean hasPluginsValues(String portalName, Date date); } \ No newline at end of file Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresMDB.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresMDB.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresMDB.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -35,6 +35,7 @@ import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.status.common.Constants; import org.jboss.forge.status.exceptions.GetScoresException; import org.jboss.forge.status.exceptions.ScoresSaveException; import org.jboss.forge.status.service.protocol.GetScoresRequest; @@ -56,7 +57,7 @@ @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"), @ActivationConfigProperty(propertyName="destination", - propertyValue="queue/jmm") + propertyValue=Constants.QUEUE_NAME) }) public class ScoresMDB implements MessageListener { @@ -68,16 +69,17 @@ ObjectMessage message = (ObjectMessage) msg; try { - String requestName = message.getStringProperty("name"); + String requestName = + message.getStringProperty(Constants.NAME_PROPERTY); System.out.println("request name: " + requestName); - if (requestName.equals("save")) { + if (requestName.equals(Constants.SAVE_MESSAGE)) { SaveRequest saveRequest = (SaveRequest) message.getObject(); handleRequest(saveRequest); } - if (requestName.equals("getPluginsValues")) { + if (requestName.equals(Constants.GET_SCORES_MESSAGE)) { GetScoresRequest getScoresRequest = (GetScoresRequest) message.getObject(); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -43,16 +43,17 @@ import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.status.common.Constants; +import org.jboss.forge.status.common.Locations; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.exceptions.GetScoresException; import org.jboss.forge.status.exceptions.ScoresSaveException; import org.jboss.forge.status.service.ScoresService; import org.jboss.forge.status.service.ScoresServiceLocal; import org.jboss.forge.status.service.ScoresServiceRemote; -import org.jboss.forge.status.service.impl.protocol.PluginValuesImpl; import org.jboss.forge.status.service.impl.protocol.PluginsValuesImpl; import org.jboss.forge.status.service.protocol.PluginConf; import org.jboss.forge.status.tools.Plugins; -import org.jboss.forge.status.tools.Tools; import org.jboss.logging.Logger; import org.jboss.shotoku.ContentManager; @@ -66,12 +67,12 @@ * @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com) */ -@Service(objectName=Tools.STATUS_SERVICE_NAME) +@Service(objectName=Tags.STATUS_SERVICE_NAME) @Management(ScoresService.class) @Local(ScoresServiceLocal.class) -@LocalBinding(jndiBinding=Tools.STATUS_LOCAL_SERVICE) +@LocalBinding(jndiBinding=Constants.STATUS_LOCAL_SERVICE) @Remote(ScoresServiceRemote.class) -@RemoteBinding(jndiBinding=Tools.STATUS_REMOTE_SERVICE) +@RemoteBinding(jndiBinding=Constants.STATUS_REMOTE_SERVICE) public class ScoresServiceImpl implements ScoresService { private static Logger log = Logger.getLogger(ScoresServiceImpl.class); @@ -99,7 +100,7 @@ // Get directory where we store historical scores Directory rootDir = cm.getRootDirectory(); - String dirName = Tools.getShotokuStatusPath(portalName); + String dirName = Locations.getShotokuStatusPath(portalName); Directory dir = getDir(rootDir, dirName); log.info("Computing scores..."); @@ -181,7 +182,7 @@ Directory dir; try { - dir = rootDir.getDirectory(Tools.getShotokuStatusPath(portalName)); + dir = rootDir.getDirectory(Locations.getShotokuStatusPath(portalName)); } catch (RepositoryException e) { throw new GetScoresException(e); } catch (ResourceDoesNotExist e) { @@ -341,11 +342,16 @@ return getNodeName(today); } - public PluginValuesImpl get(String portalName, String pluginId, Date date) - throws GetScoresException { + public boolean hasPluginsValues(String portalName, Date date) { - PluginsValuesImpl pv = getPluginsValues(portalName, date); - return pv.getPluginValues(pluginId); - } - + PluginsValuesImpl pluginsValues = null; + + try { + pluginsValues = getPluginsValues(portalName, date); + } catch (GetScoresException e) { + return false; + } + + return (pluginsValues != null); + } } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginConfImpl.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginConfImpl.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginConfImpl.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -27,9 +27,9 @@ import java.util.Properties; import org.jboss.forge.common.XmlTools; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.exceptions.InvalidPluginsConfigurationException; import org.jboss.forge.status.service.protocol.PluginConf; -import org.jboss.forge.status.tools.Tags; import org.w3c.dom.Node; /** Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/ServiceConfImpl.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/ServiceConfImpl.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/ServiceConfImpl.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -24,8 +24,8 @@ import java.util.Properties; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.service.protocol.ServiceConf; -import org.jboss.forge.status.tools.Tags; import org.jboss.shotoku.Node; /** Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/CellTemplate.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/CellTemplate.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/CellTemplate.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -26,8 +26,8 @@ import java.util.List; import org.jboss.forge.common.XmlTools; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.service.protocol.PluginsValues; -import org.jboss.forge.status.tools.Tags; import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/Columns.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/Columns.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/Columns.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -34,11 +34,11 @@ import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; import org.jboss.forge.common.projects.permissions.PermissionsChecker; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.service.protocol.PluginValues; import org.jboss.forge.status.service.protocol.PluginsValues; import org.jboss.forge.status.tools.ProjectsByNameComparator; import org.jboss.forge.status.tools.ProjectsByScoreComparator; -import org.jboss.forge.status.tools.Tags; import org.jboss.portal.common.context.DelegateContext; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MatrixTemplate.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MatrixTemplate.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MatrixTemplate.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -27,8 +27,8 @@ import org.jboss.forge.common.XmlTools; import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.service.protocol.PluginsValues; -import org.jboss.forge.status.tools.Tags; import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MetricTemplate.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MetricTemplate.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MetricTemplate.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -22,9 +22,9 @@ package org.jboss.forge.status.templates; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.service.protocol.PluginValues; import org.jboss.forge.status.service.protocol.PluginsValues; -import org.jboss.forge.status.tools.Tags; import org.jboss.forge.common.XmlTools; import org.jboss.portal.common.context.DelegateContext; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/RowTemplate.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/RowTemplate.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/RowTemplate.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -26,8 +26,8 @@ import java.util.ArrayList; import org.jboss.forge.common.XmlTools; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.service.protocol.PluginsValues; -import org.jboss.forge.status.tools.Tags; import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -31,6 +31,7 @@ import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.status.common.Tags; import org.jboss.forge.status.exceptions.InvalidPluginPropertiesException; import org.jboss.forge.status.plugins.Plugin; import org.jboss.forge.status.service.protocol.PluginConf; Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -0,0 +1,183 @@ +/* + * 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.tools; + +import java.io.Serializable; +import java.sql.Timestamp; +import java.util.Date; +import java.util.List; +import java.util.Properties; + +import javax.jms.JMSException; +import javax.jms.ObjectMessage; +import javax.jms.Queue; +import javax.jms.QueueConnection; +import javax.jms.QueueConnectionFactory; +import javax.jms.QueueSender; +import javax.jms.QueueSession; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; + +import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.status.exceptions.GetScoresException; +import org.jboss.forge.status.exceptions.ScoresSaveException; +import org.jboss.forge.status.service.impl.protocol.GetScoresRequestImpl; +import org.jboss.forge.status.service.impl.protocol.SaveRequestImpl; +import org.jboss.forge.status.service.protocol.GetScoresRequest; +import org.jboss.forge.status.service.protocol.PluginConf; +import org.jboss.forge.status.service.protocol.PluginsValues; +import org.jboss.forge.status.service.protocol.SaveRequest; +import org.jboss.forge.status.service.protocol.ServiceConf; +import org.jboss.forge.status.common.Constants; + +/** +* @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com) +*/ + +public class ScoresManager { + + private static boolean isRemote; + private static Properties properties; + + public static void init(String portalName, ServiceConf serviceConf) { + + ScoresManagerSync.init(portalName, serviceConf); //TODO inheritance + + isRemote = serviceConf.isRemote(); + System.out.println("remote: " + isRemote); + + properties = serviceConf.getProperties(); + } + + public static void save(Projects projects, List<PluginConf> pluginsConf) + throws ScoresSaveException { + + SaveRequest saveRequest = new SaveRequestImpl(pluginsConf, projects); + //TODO request factory + //conf factory? + + // Send message + try { + sendMessage(Constants.SAVE_MESSAGE, saveRequest); + } catch (Exception e) { + throw new ScoresSaveException(e); + } + } + + public static PluginsValues getScores(Date date, Date toDate) + throws GetScoresException { + //TODO toDate + + Timestamp timestamp = new Timestamp(System.currentTimeMillis()); + + GetScoresRequest getScoresRequest = + new GetScoresRequestImpl(date, toDate, timestamp); + + // Send message + try { + sendMessage(Constants.GET_SCORES_MESSAGE, getScoresRequest); + } catch (Exception e) { + throw new GetScoresException(e); + } + + PluginsValues pluginsValues = null; + int attempts = 0; + + for (;;) { + + pluginsValues = RecordManager.get(timestamp); + + System.out.println("attempt: " + pluginsValues); + + if ((pluginsValues != null) || + ((attempts++) == Constants.MAX_ATTEMPTS)) { + break; + } + + try { + Thread.sleep(Constants.SLEEP_TIME); + } catch (InterruptedException e) { + throw new GetScoresException(e); + } + } + + return pluginsValues; + } + + /** + * For the specified plugin returns historical project score + * from the given <code>date</code> in the past. + * If scores from specified day are not available, + * the next available scores saved at the day before or equal + * to <code>toDate</code> are returned. + * + * Notice that only year, month and day matter in passed dates. + * + * @return project score from the given date for specified plugin + * @throws GetScoresException + */ + public static long getValue(String pluginId, String projectId, + Date date, Date toDate) + throws GetScoresException { + + PluginsValues pluginsValues = getScores(date, toDate); + + return pluginsValues.getPluginValue(pluginId, projectId); + } + + public static PluginsValues getCurrentScores() + throws GetScoresException { + + Date now = new Date(); + + return getScores(now, now); + } + + private static void sendMessage(String name, Serializable request) throws + NamingException, JMSException { + + Queue queue = null; + QueueConnection connection = null; + QueueSession session = null; + QueueSender sender = null; + Context context = new InitialContext(properties); + + queue = (Queue) context.lookup(Constants.QUEUE_NAME); + QueueConnectionFactory factory = + (QueueConnectionFactory) context.lookup("ConnectionFactory"); + connection = factory.createQueueConnection(); + session = connection.createQueueSession(false, + QueueSession.AUTO_ACKNOWLEDGE); + + // Create message + ObjectMessage message = session.createObjectMessage(); + message.setStringProperty("name", name); + message.setObject(request); + + sender = session.createSender(queue); + sender.send(message); + session.close (); + } + +} Deleted: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerAsync.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerAsync.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerAsync.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -1,185 +0,0 @@ -/* - * 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.tools; - -import java.io.Serializable; -import java.sql.Timestamp; -import java.util.Date; -import java.util.List; -import java.util.Properties; - -import javax.jms.JMSException; -import javax.jms.ObjectMessage; -import javax.jms.Queue; -import javax.jms.QueueConnection; -import javax.jms.QueueConnectionFactory; -import javax.jms.QueueSender; -import javax.jms.QueueSession; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; - -import org.jboss.forge.common.projects.Projects; -import org.jboss.forge.status.exceptions.GetScoresException; -import org.jboss.forge.status.exceptions.ScoresSaveException; -import org.jboss.forge.status.service.impl.protocol.GetScoresRequestImpl; -import org.jboss.forge.status.service.impl.protocol.SaveRequestImpl; -import org.jboss.forge.status.service.protocol.GetScoresRequest; -import org.jboss.forge.status.service.protocol.PluginConf; -import org.jboss.forge.status.service.protocol.PluginsValues; -import org.jboss.forge.status.service.protocol.SaveRequest; -import org.jboss.forge.status.service.protocol.ServiceConf; - -/** -* @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com) -*/ - -public class ScoresManagerAsync { - - private static boolean isRemote; - private static Properties properties; - - public static void init(String portalName, ServiceConf serviceConf) { - - ScoresManagerSync.init(portalName, serviceConf); //TODO inheritance - - isRemote = serviceConf.isRemote(); - System.out.println("remote: " + isRemote); - - properties = serviceConf.getProperties(); - } - - public static void save(Projects projects, List<PluginConf> pluginsConf) - throws ScoresSaveException { - - SaveRequest saveRequest = new SaveRequestImpl(pluginsConf, projects); - //TODO request factory - //conf factory? - - // Send message - try { - sendMessage("save", saveRequest); - } catch (Exception e) { - throw new ScoresSaveException(e); - } - - // TODO poll/wait for results - } - - public static PluginsValues getScores(Date date, Date toDate) - throws GetScoresException { - //TODO toDate - - Timestamp timestamp = new Timestamp(System.currentTimeMillis()); - - GetScoresRequest getScoresRequest = - new GetScoresRequestImpl(date, toDate, timestamp); - - // Send message - try { - sendMessage("getPluginsValues", getScoresRequest); - } catch (Exception e) { - throw new GetScoresException(e); - } - - // poll/wait for results - - PluginsValues pluginsValues = null; - - for (;;) { //TODO when we give up? - - pluginsValues = RecordManager.get(timestamp); - - System.out.println("attempt: " + pluginsValues); - - if (pluginsValues != null) { - break; - } - - try { - Thread.sleep(2000); //TODO const - } catch (InterruptedException e) { - throw new GetScoresException(e); - } - } - - return pluginsValues; - } - - /** - * For the specified plugin returns historical project score - * from the given <code>date</code> in the past. - * If scores from specified day are not available, - * the next available scores saved at the day before or equal - * to <code>toDate</code> are returned. - * - * Notice that only year, month and day matter in passed dates. - * - * @return project score from the given date for specified plugin - * @throws GetScoresException - */ - public static long getValue(String pluginId, String projectId, - Date date, Date toDate) - throws GetScoresException { - - PluginsValues pluginsValues = getScores(date, toDate); - - return pluginsValues.getPluginValue(pluginId, projectId); - } - - public static PluginsValues getCurrentScores() - throws GetScoresException { - - Date now = new Date(); - - return getScores(now, now); - } - - private static void sendMessage(String name, Serializable request) throws - NamingException, JMSException { - - Queue queue = null; - QueueConnection connection = null; - QueueSession session = null; - QueueSender sender = null; - Context context = new InitialContext(properties); - - queue = (Queue) context.lookup("queue/jmm"); //TODO const - QueueConnectionFactory factory = - (QueueConnectionFactory) context.lookup("ConnectionFactory"); - connection = factory.createQueueConnection(); - session = connection.createQueueSession(false, - QueueSession.AUTO_ACKNOWLEDGE); - - // Create message - ObjectMessage message = session.createObjectMessage(); - message.setStringProperty("name", name); - message.setObject(request); - - sender = session.createSender(queue); - sender.send(message); - // sess.commit (); TODO closing vs committing - session.close (); - } - -} Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerSync.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerSync.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerSync.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -32,6 +32,7 @@ import javax.rmi.PortableRemoteObject; import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.status.common.Constants; import org.jboss.forge.status.exceptions.GetScoresException; import org.jboss.forge.status.exceptions.ScoresSaveException; import org.jboss.forge.status.service.ScoresService; @@ -129,8 +130,8 @@ // Perform look up using JNDI name of ejb object String serviceBinding = - (isRemote ? Tools.STATUS_REMOTE_SERVICE : - Tools.STATUS_LOCAL_SERVICE); + (isRemote ? Constants.STATUS_REMOTE_SERVICE : + Constants.STATUS_LOCAL_SERVICE); Object ref = context.lookup(serviceBinding); // Narrow the reference of the object returned by lookup() method Deleted: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -1,85 +0,0 @@ -/* - * 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.tools; - -/** -* @author Pawel Wrzeszcz -* Status Matrix xml tags. -*/ -public class Tags { - - /* status.xml file tags */ - - /* main page */ - public static final String MAIN_PAGE_COLUMNS_TAG = "main-page"; - - public final static String COLUMN_ELEMENT = "column"; - public final static String COLUMNS_ELEMENT = "columns"; - public static final String COLUMN_NAME_ELEMENT = "name"; - public static final String COLUMN_PLUGIN_ELEMENT = "plugin"; - - public final static String ORDER_PLUGIN_ELEMENT = "order-plugin"; - - /* project page */ - public static final String PROJECT_PAGE_COLUMNS_TAG = "project-page"; - - public static final String ROWS_ELEMENT = "rows"; - public static final String ROW_ELEMENT = "row"; - public static final String ROW_NAME_ELEMENT = "name"; - - public static final String CELLS_ELEMENT = "cells"; - public static final String CELL_ELEMENT = "cell"; - public static final String CELL_NAME_ELEMENT = "name"; - - public static final String METRICS_ELEMENT = "metrics"; - public static final String METRIC_ELEMENT = "metric"; - public static final String METRIC_NAME_ELEMENT = "name"; - public static final String METRIC_PLUGIN_ELEMENT = "plugin"; - - /* service.xml tags */ - public static final String SERVICE_REMOTE_ELEMENT = "service.remote"; - - /* plugins.xml tags */ - public final static String PLUGIN_ELEMENT = "plugin"; - - public final static String PLUGIN_ID_ELEMENT = "id"; - public final static String PLUGIN_CLASS_ELEMENT = "class"; - public final static String PLUGIN_PROPERTIES_ELEMENT = "properties"; - - /* project.xml files tags */ - public static final String JIRA_SERVICE_PROPERTY = "jira-service"; - public static final String JIRA_ADRESS_TAG = "jira-address"; - public static final String SVN_SERVICE_PROPERTY = "svn-service"; - - public static final String CC_SERVICE_PROPERTY = "cc-service"; - public static final String CC_ADRESS_TAG = "cc-address"; - - public static final String SVN_REPO_ADRESS_TAG = "svn-repo"; - public static final String SVN_USERNAME_TAG = "svn-username"; - public static final String SVN_PASSWD_TAG = "svn-passwd"; - - /** - * This class cannot be instatiated. - */ - private Tags() {}; -} \ No newline at end of file Deleted: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java 2006-05-17 17:51:54 UTC (rev 4289) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java 2006-05-17 20:54:55 UTC (rev 4290) @@ -1,121 +0,0 @@ -package org.jboss.forge.status.tools; - -import java.util.HashSet; -import java.util.Set; - -import org.jboss.forge.common.ForgeHelper; -import org.jboss.forge.common.projects.Projects; -import org.jboss.forge.common.projects.ProjectsHelper; -import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; -import org.jboss.forge.common.projects.permissions.PermissionsChecker; -import org.jboss.forge.status.StatusDescriptor; -import org.jboss.forge.status.StatusConfWatcher; - -import org.jboss.shotoku.aop.CacheItem; - -/** - * Common constants and functions. - * @author Pawel Wrzeszcz - */ -public class Tools { - - /** <code>STATUS_XML<code> - file defining the list of watched feeds */ - private final static String STATUS_XML = "status.xml"; - private final static String STATUS_PLUGINS_XML = "plugins.xml"; - private final static String STATUS_SERVICE_PROPERTIES = "service.properties"; - - /** <code>STATUS_DIR</code> - directory in which file <code>STATUS_XML<code> is stored. */ - private final static String STATUS_DIR = "status"; - - private final static String STATUS_JSP = "status.jsp"; - private final static String STATUS_JSP_DIR = "status"; - private final static String PROJECT_DETAILS_JSP = "project_details.jsp"; - private final static String COLUMN_DETAILS_JSP = "column_details.jsp"; - - /** Shotoku directory to store historical scores */ - private static final String SHOTOKU_STATUS_DIR = "status"; - - public static final String STATUS_SERVICE_NAME = "status:service=scores"; - public static final String STATUS_LOCAL_SERVICE = "Status/LocalScoresService"; - public static final String STATUS_REMOTE_SERVICE = "Status/RemoteScoresService"; - - @CacheItem - private static StatusConfWatcher conf; - - public static synchronized StatusDescriptor getDesc(final String portalName) { - return conf.get(portalName); - } - - /** - * Path to the xml file with the Status Matrix properties. - */ - public static String getXmlCmPath(String portalName) { - return portalName + "/" + STATUS_DIR + "/" + STATUS_XML; - } - - /** - * Path to the xml file defining Plugins used in the Matrix. - */ - public static String getXmlStatusPluginsCmPath(String portalName) { - return portalName + "/" + STATUS_DIR + "/" + STATUS_PLUGINS_XML; - } - - /** - * Path to the xml file defining ejb3 service. - */ - public static String getServicePropertiesCmPath(String portalName) { - return portalName + "/" + STATUS_DIR + "/" + STATUS_SERVICE_PROPERTIES; - } - - /** - * Path to the projects.xml file. - */ - public static String getProjectsXmlPath(String portalName) { - return portalName + "/" + ProjectsHelper.PROJECTS_DESC; - } - - /** - * Set containing paths to project.xml files for all projects. - */ - public static Set<String> getProjectXmlPathsSet(String portalName) { - - Set<String> pathsSet = new HashSet<String>(); - - Projects projects = ProjectsHelper.getProjects(portalName); - Set<String> projectIdsSet = projects.getProjectIds( - (PermissionsChecker) new NullPermissionsChecker(), null); - - for (String projectId : projectIdsSet) { - - String projectXmlPath = portalName + "/" + ProjectsHelper.MEMBERS_DIR - + "/" + projectId + "/" + ProjectsHelper.PROJECT_DESC; - pathsSet.add(projectXmlPath); - } - return pathsSet; - } - - /** - * Path to the jsp file responsible file displaying the Status Matrix. - */ - public static String getJspCmPath() { - return STATUS_JSP_DIR + "/" + STATUS_JSP; - } - - /** - * Path to the jsp file responsible for displaying project details. - */ - public static String getPrjDetailsJspCmPath() { - return STATUS_JSP_DIR + "/" + PROJECT_DETAILS_JSP; - } - - /** - * Path to the jsp file responsible displaying column details. - */ - public static String getColumnDetailsJspCmPath() { - return STATUS_JSP_DIR + "/" + COLUMN_DETAILS_JSP; - } - - public static String getShotokuStatusPath(String portalName) { - return ForgeHelper.DYNAMIC_CONTENT_DIR + "/" + SHOTOKU_STATUS_DIR; - } -} |