[jboss-svn-commits] JBL Code SVN: r8322 - in labs/jbosslabs/trunk/portal-extensions/forge-jmm: . src/java/org/jboss/forge/jmm/common/protocol/conf src/java/org/jboss/forge/jmm/common/protocol/conf/impl src/java/org/jboss/forge/jmm/common/tools src/java/org/jboss/forge/jmm/portlet src/java/org/jboss/forge/jmm/service/impl/db/protocol src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol src/java/org/jboss/forge/jmm/service/plugins src/java/org/jboss/forge/jmm/service/plugins/cc src/java/org/jboss/forge/jmm/service/plugins/codelines src/java/org/jboss/forge/jmm/service/plugins/math src/java/org/jboss/forge/jmm/service/plugins/productization

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Dec 14 12:51:37 EST 2006


Author: wrzep
Date: 2006-12-14 12:51:21 -0500 (Thu, 14 Dec 2006)
New Revision: 8322

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/Plugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ConfgurationImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/PluginConfImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ServiceConfImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ServiceScoresManager.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/UpdatesConfImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMTools.java
Removed:
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/conf/
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/Plugin.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/project.properties
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/project.xml
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/ScoresFactory.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/tools/Plugins.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/tools/Tools.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMDescriptor.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMPortlet.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/DBScoresFactory.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/PluginValuesEntity.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/PluginsValuesEntity.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/PluginValuesImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/PluginsValuesImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/ShotokuScoresFactory.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/KosmosPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/cc/CcBuildsPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/codelines/CodeLinesPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/ConstPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/LastNDaysPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/MathPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/RandomPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/WeightedScorePlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/DownloadsPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/JEMSIntegrationPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/PackagedForDownloadPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/ProductizationPlugin.java
Log:
JBLAB-815
Pawel


Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/project.properties
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/project.properties	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/project.properties	2006-12-14 17:51:21 UTC (rev 8322)
@@ -2,11 +2,15 @@
 maven.junit.fork=yes
 maven.war.src=${basedir}/src/web
 
-maven.ejb.includes=**/service/**,**/META-INF/**
-maven.jar.excludes=**/JMMPortlet.class,**/service/**,**/persistence.xml
-maven.war.classes.includes=**/JMMPortlet.class
+#maven.ejb.includes=**/service/**,**/META-INF/**
+#maven.jar.excludes=**/JMMPortlet.class,**/service/**,**/persistence.xml
+#maven.war.classes.includes=**/JMMPortlet.class
 #**/service/impl/db/protocol/*
 
+maven.ejb.includes=**/service/**,**/META-INF/**
+maven.jar.includes=**/common/**
+maven.war.classes.includes=**/portlet/**
+
 jmm.service.final.name=jmm-service.ejb3
 jmm.common.final.name=jmm-common.jar
 jmm.service.sar=jmm-service.sar/
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/project.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/project.xml	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/project.xml	2006-12-14 17:51:21 UTC (rev 8322)
@@ -24,7 +24,8 @@
 	    <version>1.0</version>
 	    <properties>
                 <ejb.manifest.classpath>true</ejb.manifest.classpath>
-            </properties>
+				<war.manifest.classpath>true</war.manifest.classpath>
+        </properties>
 	</dependency>
 <!--
 	<dependency>
@@ -58,8 +59,8 @@
 	    <version>1.0</version>
 	    <jar>javasvn.jar</jar>
 	    <properties>
-		<war.bundle>true</war.bundle>
-		<ejb.manifest.classpath>true</ejb.manifest.classpath>
+			<war.bundle>true</war.bundle>
+			<ejb.manifest.classpath>true</ejb.manifest.classpath>
 	    </properties>
 	</dependency>
 	
@@ -71,6 +72,7 @@
 		<properties>
 			<war.bundle>true</war.bundle>
 			<ejb.manifest.classpath>true</ejb.manifest.classpath>
+			<war.manifest.classpath>true</war.manifest.classpath>
 		</properties>
 	</dependency>
 
@@ -80,12 +82,23 @@
         <version>3.0.1</version> 
 	<jar>hessian-3.0.13.jar</jar>
         <properties>
-        	<war.bundle>true</war.bundle>
-<!--                <war.manifest.classpath>true</war.manifest.classpath> -->
-                <ejb.manifest.classpath>true</ejb.manifest.classpath>
+		    	<war.bundle>true</war.bundle>
+            <war.manifest.classpath>true</war.manifest.classpath>
+            <ejb.manifest.classpath>true</ejb.manifest.classpath>
         </properties>
     </dependency>
 
+	<dependency>
+	    <groupId>shotoku</groupId>
+	    <artifactId>shotoku-base</artifactId>
+	    <version>1.0</version>
+	    <jar>shotoku-base.jar</jar>
+            <properties>
+                <ejb.manifest.classpath>true</ejb.manifest.classpath>
+                <war.manifest.classpath>true</war.manifest.classpath>
+            </properties>
+	</dependency>
+
   <!-- JBoss EJB3 dependencies -->
 
 	<dependency>

Added: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/Plugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/Plugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/Plugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -0,0 +1,261 @@
+/*
+ * 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.jmm.common.protocol.conf;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.jboss.forge.jmm.common.Constants;
+import org.jboss.forge.jmm.common.Tags;
+import org.jboss.forge.jmm.common.exceptions.InvalidPluginPropertiesException;
+import org.jboss.forge.jmm.common.protocol.ScoresManager;
+import org.jboss.forge.jmm.common.tools.Plugins;
+import org.jboss.logging.Logger;
+
+/**
+* @author Pawel Wrzeszcz
+* Superclass for Status Matrix Plugins.
+*/
+
+public abstract class Plugin {
+	
+	/** Properties specyfic to this plugin */
+	protected Properties properties;
+	
+	/** Plugin id */
+	protected String id;
+	
+	/** Portal name */
+	protected String portalName;
+	
+	/** Projects present in the Status Matrix. */
+	protected List<String> projectIds;
+	
+	/** Plugins loaded before this plugin */
+	protected Plugins plugins;
+	
+	protected ScoresManager scoresManager;
+	
+	/** Default min value for plugin */
+	protected long minValue = Constants.PLUGIN_DEFAULT_MIN_VALUE;
+	
+	/** Cache values by default. */
+	protected boolean cacheValues = true;
+	
+	private Map<String,Long> cache;
+	
+	private Logger log = Logger.getLogger(Plugin.class);
+	
+	/**
+	 * @param id Plugin id
+	 * @param portalName Portal name
+	 * @param projectIds Projects present in the Status Matrix
+	 * @param properties plugin specyfic properties
+	 * or null if properties are not specified
+	 * @param scoresManager 
+	 * @patam plugins Plugins loaded before this plugin
+	 * @throws InvalidPluginPropertiesException
+	 * Thrown when properties passed in <code>propertiesNode</code>
+	 * are incorrect or missing. 
+	 */
+	public void init(String id, String portalName, List<String> projectIds,
+			Plugins plugins, Properties properties, ScoresManager scoresManager)
+						throws InvalidPluginPropertiesException {
+		
+		this.id = id;
+		this.portalName = portalName;
+		this.projectIds = projectIds;
+		this.plugins = plugins;
+		this.properties = properties;
+		this.scoresManager = scoresManager;
+		
+		parseProperties();
+		
+		if (cacheValues) {
+			cache = new HashMap<String,Long>();
+		}
+	}
+	
+	private void parseProperties() {
+
+		if (properties == null) {
+			return;
+		}
+		
+		String minValueString = properties.getProperty(
+													Tags.MIN_VALUE_PROPERTY);
+		
+		if (minValueString != null) {
+			minValue = Long.parseLong(minValueString);
+		}
+		
+		String cacheValuesString = properties.getProperty(
+													Tags.CACHE_VALUES_PROPERTY);
+		
+		if (cacheValuesString != null) {
+			cacheValues = Boolean.parseBoolean(cacheValuesString);
+		}
+	}
+
+	/**
+	 * For the given project returns value specyfic to this plugin.
+	 * If an error occured while computing a value, returns
+	 * <code>Constants.DEFAULT_PLUGIN_VALUE</code> 
+	 * 
+	 * @param projectId project id
+	 * @return value computed by plugin for the project
+	 * with the given <code>projectId</code>.
+	 */
+	public final long getValue(String projectId) {
+		
+		if (cacheValues && cache.containsKey(projectId)) {
+			
+			return cache.get(projectId);
+		}
+		
+		long v = Constants.DEFAULT_PLUGIN_VALUE;
+		
+		try {
+		
+			v = getPluginValue(projectId);
+			
+		} catch (Exception e) {
+			
+			log.warn("Exception in plugin (getPluginValue): " + id + 
+												"\nCause: ", e);	
+		}
+		
+		v = Math.max(v, minValue);
+		
+		if (cacheValues) {
+			cache.put(projectId, v);
+		}
+		
+		return v;
+	}
+	
+	/**
+	 * 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>.
+	 */
+	protected abstract long getPluginValue(String projectId);
+	
+	
+	/** For the given project returns link associated with this plugin
+	 * and project or null if such link does not exsist.
+	 */
+	public final String getLink(String projectId) {
+		
+		String s = null;
+		
+		try {
+		
+			s = getPluginLink(projectId);
+			
+		} catch (Exception e) {
+			
+			log.warn("Exception in plugin (getPluginLink)" + id + 
+												"\nCause: " + e.getMessage());	
+		}
+		
+		return s;
+	}
+	
+	/** For the given project returns link associated with this plugin and project.
+	 * Should be overrided inside plugins that have some links associated with projects.
+	 */
+	protected String getPluginLink(String projectId) {
+		return null;
+	}
+	
+	/** For the given project returns name of link associated with this plugin
+	 * or null if projects have not any link associated with this plugin.
+	 */
+	public final String getLinkName() {
+		
+		String s = null;
+		
+		try {
+		
+			s = getPluginLinkName();
+			
+		} catch (Exception e) {
+			
+			log.warn("Exception in plugin (getPluginLinkName)" + id + 
+												"\nCause: " + e.getMessage());	
+		}
+		
+		return s;
+	}
+	
+	/** For the given project returns name of link associated with this plugin
+	 * or null if projects have not any link associated with this plugin.
+	 * This method should be overrided inside plugins that have some links associated with projects.
+	 */
+	protected String getPluginLinkName() {
+		return null;
+	}
+	
+	/**
+	 * For the given project returns it's rate.
+	 * Rate is computed as project's score share in
+	 * sum of all scores. 
+	 * 
+	 * @param projectId project id
+	 * @return rate computed by plugin for the project
+	 * with the given <code>projectId</code>.
+	 */
+	public final int getRate(String projectId) {
+				
+		long totalScore = getTotalScore();
+			
+		if (totalScore == 0) {
+			return 0;
+		}
+		
+		float r = ((float) getValue(projectId) / (float) totalScore);
+		
+		return (int) (100.0 * r);
+	}
+
+	/**
+	 * @return plugin id
+	 */
+	public final String getId() { return id; };
+
+	private long getTotalScore() {
+		
+		long s = 0;
+		
+		for (String projectId : projectIds) {
+			s += getValue(projectId);
+		}
+		
+		return s;
+	}
+}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/ScoresFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/ScoresFactory.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/ScoresFactory.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -25,7 +25,6 @@
 import java.io.Serializable;
 import java.util.List;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
 * @author Pawel Wrzeszcz

Added: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ConfgurationImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ConfgurationImpl.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ConfgurationImpl.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -0,0 +1,142 @@
+/*
+ * 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.jmm.common.protocol.conf.impl;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+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.jmm.common.Locations;
+import org.jboss.forge.jmm.common.Tags;
+import org.jboss.forge.jmm.common.exceptions.InvalidPluginsConfigurationException;
+import org.jboss.forge.jmm.common.protocol.conf.Configuration;
+import org.jboss.forge.jmm.common.protocol.conf.PluginConf;
+import org.jboss.forge.jmm.common.protocol.conf.ServiceConf;
+import org.jboss.forge.jmm.common.protocol.conf.UpdatesConf;
+import org.jboss.forge.jmm.common.tools.Tools;
+import org.jboss.logging.Logger;
+import org.jboss.shotoku.ContentManager;
+import org.jboss.shotoku.Node;
+import org.jboss.shotoku.exceptions.RepositoryException;
+import org.jboss.shotoku.exceptions.ResourceDoesNotExist;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+
+/**
+* @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
+*/
+public class ConfgurationImpl implements Configuration {
+
+	private String portalName;
+	private List<String> projectIds;
+	private List<PluginConf> pluginsConf;
+	
+	private ServiceConf scoresServiceConf;
+	private ServiceConf projectsServiceConf;
+	private UpdatesConf updateConf;
+
+	private static final long serialVersionUID = 772452316632341L;
+	private static Logger log = Logger.getLogger(ConfgurationImpl.class);
+	
+	
+	public ConfgurationImpl(String portalName, ContentManager cm)
+							throws RepositoryException, ResourceDoesNotExist,
+								   IOException, SAXException {
+		
+		String servicePath = Locations.getServicePropertiesCmPath(portalName);
+		Node serviceNode = cm.getNode(servicePath);
+		scoresServiceConf = new ServiceConfImpl(serviceNode);
+		
+		String projectsServicePath = Locations.getProjectsServicePropertiesCmPath(portalName);
+		Node projectsServiceNode = cm.getNode(projectsServicePath);
+		projectsServiceConf = new ServiceConfImpl(projectsServiceNode);
+		
+		String updatePropertiesPath = Locations.getUpdatePropertiesCmPath(portalName);
+		Node updatePropertiesNode = cm.getNode(updatePropertiesPath);
+		 updateConf = new UpdatesConfImpl(updatePropertiesNode);
+		
+		String pluginsPath = Locations.getXmlJMMPluginsCmPath(portalName);
+		org.w3c.dom.Node pluginsNode = Tools.getRoot(cm, pluginsPath);
+		pluginsConf = getPluginsConfList(pluginsNode);
+		
+		Projects projects = ProjectsHelper.getProjects(portalName);
+		projectIds = new ArrayList<String>(
+				projects.getProjectIds(
+						(PermissionsChecker) new NullPermissionsChecker(), null));
+		
+	}
+	
+	public String getPortalName() {
+		return portalName;
+	}
+	
+	public List<String> getProjectIds() {
+		return projectIds;
+	}
+	
+	public List<PluginConf> getPluginsConf() {
+		return pluginsConf;
+	}
+	
+	public ServiceConf getProjectsServiceConf() {
+		return projectsServiceConf;
+	}
+	
+	public ServiceConf getScoresServiceConf() {
+		return scoresServiceConf;
+	}
+	
+	public UpdatesConf getUpdateConf() {
+		return updateConf;
+	}
+
+	public static List<PluginConf> getPluginsConfList(org.w3c.dom.Node pluginsRoot) {
+	
+		List<PluginConf> pluginsConfList = new ArrayList<PluginConf>();
+	
+		NodeList pluginNodes = pluginsRoot.getChildNodes();
+		
+		for (int i = 0; i < pluginNodes.getLength(); i++) {
+			org.w3c.dom.Node pluginNode = pluginNodes.item(i);
+	
+			if (pluginNode.getNodeName() != Tags.PLUGIN_ELEMENT) {
+				continue;
+			}
+			
+			try {
+				PluginConfImpl pluginConf = new PluginConfImpl(pluginNode);
+				pluginsConfList.add(pluginConf);
+				
+			} catch (InvalidPluginsConfigurationException e) {
+				log.warn("Invalid plugin configuration. " + e.getMessage());
+			}
+		}
+	
+		return pluginsConfList;
+	}
+}
\ No newline at end of file

Added: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/PluginConfImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/PluginConfImpl.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/PluginConfImpl.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -0,0 +1,81 @@
+/*
+ * 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.jmm.common.protocol.conf.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.jboss.forge.common.XmlTools;
+import org.jboss.forge.jmm.common.Tags;
+import org.jboss.forge.jmm.common.exceptions.InvalidPluginsConfigurationException;
+import org.jboss.forge.jmm.common.protocol.conf.PluginConf;
+import org.w3c.dom.Node;
+
+/**
+* @author Pawel Wrzeszcz
+*/
+public class PluginConfImpl implements PluginConf {
+	
+	private static final long serialVersionUID = 8598887068548048511L;
+
+	private Map<String,String> fields = new HashMap<String,String>();
+	private Properties properties;
+	
+	public PluginConfImpl(Node pluginNode)
+						throws InvalidPluginsConfigurationException {
+		
+		// Parse plugin configuration
+		parseField(pluginNode, Tags.PLUGIN_ID_ELEMENT);
+		parseField(pluginNode, Tags.PLUGIN_CLASS_ELEMENT);
+		
+		// Parse plugin properties
+		Node pluginPropertiesNode =
+				XmlTools.getFirstNodeWithName(pluginNode,
+						Tags.PLUGIN_PROPERTIES_ELEMENT);
+		
+		properties = XmlTools.parseProperties(pluginPropertiesNode); 
+	}
+	
+	public String getFieldValue(String fieldName) {
+		return fields.get(fieldName);
+	}
+	
+	public Properties getProperties() {
+		return properties;
+	}
+	
+	private void parseField(Node pluginNode, String fieldName)
+							throws InvalidPluginsConfigurationException {
+		
+		String fieldValue =
+			XmlTools.getChildNodeValue(pluginNode, fieldName);
+
+		if (fieldValue == null) {
+			throw new InvalidPluginsConfigurationException(
+									"Missing field: " + fieldName);
+		}
+		
+		fields.put(fieldName, fieldValue);
+	}
+}
\ No newline at end of file

Added: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ServiceConfImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ServiceConfImpl.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ServiceConfImpl.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -0,0 +1,55 @@
+/*
+ * 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.jmm.common.protocol.conf.impl;
+
+import java.util.Properties;
+
+import org.jboss.forge.jmm.common.protocol.conf.ServiceConf;
+import org.jboss.forge.jmm.common.tools.Tools;
+import org.jboss.shotoku.Node;
+
+/**
+* @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
+*/
+public class ServiceConfImpl implements ServiceConf {
+	
+
+	private static final long serialVersionUID = 9276134986978721L;
+	
+	private Properties properties;
+	
+	
+	public ServiceConfImpl(Node serviceNode) {
+			
+		properties = Tools.parseProperties(serviceNode, null);										
+	}
+
+
+	public Properties getProperties() {
+		
+		return properties;
+	}
+
+
+
+}
\ No newline at end of file

Added: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ServiceScoresManager.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ServiceScoresManager.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/ServiceScoresManager.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -0,0 +1,194 @@
+/*
+ * 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.jmm.common.protocol.conf.impl;
+
+
+import java.util.Calendar;
+import java.util.Properties;
+import javax.naming.NamingException;
+
+import org.jboss.forge.jmm.common.Constants;
+import org.jboss.forge.jmm.common.exceptions.GetScoresException;
+import org.jboss.forge.jmm.common.exceptions.ScoresException;
+import org.jboss.forge.jmm.common.protocol.ScoresManager;
+import org.jboss.forge.jmm.common.protocol.ScoresService;
+import org.jboss.forge.jmm.common.protocol.conf.Configuration;
+import org.jboss.forge.jmm.common.protocol.conf.PluginsValues;
+import org.jboss.forge.jmm.common.protocol.conf.PluginsValuesRemote;
+import org.jboss.forge.jmm.common.tools.Tools;
+
+import org.jboss.logging.Logger;
+
+
+
+/**
+* @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
+*/
+
+public class ServiceScoresManager implements ScoresManager {
+
+	private static final long serialVersionUID = -3398452363516977124L;
+
+	private Properties properties;
+	private Configuration conf;
+	private Logger log;
+	
+	public ServiceScoresManager(Configuration conf) throws ScoresException {
+		
+		properties = conf.getScoresServiceConf().getProperties();
+		this.conf = conf;
+		
+		log = Logger.getLogger(this.getClass());
+		
+		initService();
+	}
+
+	public synchronized void save() throws ScoresException {
+
+		ScoresService service = getService();
+		service.save();		
+	}
+	
+	
+	public boolean hasScores(Calendar cal) throws NamingException, ScoresException {
+		
+		ScoresService service = getService();
+		return service.hasPluginsValues(cal);
+	}
+	
+	
+	public PluginsValues getScores(Calendar cal)
+										throws ScoresException {
+
+		log.info("getScores");
+
+		PluginsValuesRemote pluginsValues;
+		try {
+			ScoresService service = getService();
+			pluginsValues = service.getPluginsValuesRemote(cal);
+		} catch (ScoresException e) {
+			throw e;			
+		} catch (Exception e) {
+			throw new GetScoresException(e);
+		}
+
+		if (pluginsValues == null) {
+			throw new GetScoresException("Null plugins values");
+		}
+
+		return pluginsValues;
+	}
+	
+	
+	public PluginsValues getLatestScores()
+									throws ScoresException {
+		
+		Calendar cal = Calendar.getInstance();
+		Tools.truncate(cal);
+		int attempts = 0;
+		
+		for(;;) {
+			
+			log.debug("Trying " + cal.getTime().toString());
+			
+			boolean hasScores;
+			
+			try {
+				hasScores = hasScores(cal);
+			} catch (NamingException e) {
+				throw new GetScoresException(e);
+			}
+			
+			if (hasScores) {
+				return getScores(cal);
+			}
+			
+			if ((++attempts) == Constants.MAX_ATTEMPTS) {
+				throw new GetScoresException(
+						"Can not find any recently saved scores. " +
+						"Gave up after " + attempts + " attempts.");
+			}
+			
+			cal.add(Calendar.DAY_OF_MONTH, -1);
+		}
+	}
+
+
+	/**
+	 * For the specified plugin returns historical project score
+	 * from the given <code>date</code> in the past.
+	 * 
+	 * Notice that only year, month and day matter in passed dates.
+	 * 
+	 * @return project score from the given date for specified plugin
+	 * @throws GetScoresException
+	 */
+	public long getValue(String pluginId, String projectId,
+											Calendar cal)
+			throws ScoresException {
+		
+		ScoresService service = getService();
+		return service.getValue(pluginId, projectId, cal);
+	}
+
+	/**
+	 * For the given plugin and project ids returns stored value.
+	 * 
+	 * @param pluginId plugin id
+	 * @param projectId project id
+	 * @return stored plugin value for specified project
+	 * @throws GetScoresException
+	 * Thrown when requested value was not found
+	 */
+	public long getValue(String pluginId, String projectId,
+			Calendar start, Calendar end) throws ScoresException {
+		
+		ScoresService service = getService();
+		return service.getValue(pluginId, projectId, start, end);
+	}
+	
+	private ScoresService getService() throws ScoresException {
+		
+		try {			
+			ScoresService service = Tools.getScoresService(properties);
+			service.update(conf, this);
+			
+			return service;
+		} catch (NamingException e) {
+			throw new ScoresException(e);
+		}
+	}
+	
+	private void initService() {
+		
+		try {			
+			ScoresService service = Tools.getScoresService(properties);
+			service.init(conf, this);
+		} catch (Exception e) {
+			log.warn("Unable to initialize ScoresService." +
+					"\nCause: " + e.getMessage());
+			log.debug("initService() failed", e);
+		}
+		
+	}
+}

Added: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/UpdatesConfImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/UpdatesConfImpl.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/protocol/conf/impl/UpdatesConfImpl.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -0,0 +1,89 @@
+/*
+ * 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.jmm.common.protocol.conf.impl;
+
+import java.util.Properties;
+
+import org.jboss.forge.jmm.common.Constants;
+import org.jboss.forge.jmm.common.Tags;
+import org.jboss.forge.jmm.common.protocol.conf.UpdatesConf;
+import org.jboss.forge.jmm.common.tools.Tools;
+
+import org.jboss.shotoku.Node;
+
+/**
+* @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
+*/
+public class UpdatesConfImpl implements UpdatesConf {
+		
+	
+	private static final long serialVersionUID = 54399755111252464L;
+	
+	private int firstUpdate;
+	private int updateInterval;
+	private int updateStartHour;
+	private int updateStartMinute;
+	
+	public UpdatesConfImpl(Node serviceNode) {
+		
+		Properties properties = Tools.parseProperties(serviceNode, null);
+				
+		firstUpdate = Tools.parseIntProperty(properties,
+								Tags.SERVICE_FIRST_UPDATE_ELEMENT,
+								Constants.FIRST_UPDATE_INTERVAL_DEFAULT);
+		
+		updateInterval = Tools.parseIntProperty(properties,
+								Tags.SERVICE_UPDATE_INTERVAL_ELEMENT,
+								Constants.SCORES_UPDATE_INTERVAL_DEFAULT);
+		
+		updateStartHour = Tools.parseIntProperty(properties,
+								Tags.SERVICE_UPDATE_START_HOUR_ELEMENT,
+								Constants.UPDATE_START_HOUR_DEFAULT);
+		
+		updateStartMinute = Tools.parseIntProperty(properties,
+								Tags.SERVICE_UPDATE_START_MINUTE_ELEMENT,
+								Constants.UPDATE_START_MINUTE_DEFAULT);
+		
+	}
+
+	public int getFirstUpdate() {
+		
+		return firstUpdate;
+	}
+
+	public int getUpdateInterval() {
+		
+		return updateInterval;
+	}
+
+	public int getUpdateStartHour() {
+		
+		return updateStartHour;
+	}
+
+	public int getUpdateStartMinute() {
+		
+		return updateStartMinute;
+	}
+
+}
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/tools/Plugins.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/tools/Plugins.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/tools/Plugins.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -32,8 +32,8 @@
 import org.jboss.forge.jmm.common.Tags;
 import org.jboss.forge.jmm.common.exceptions.InvalidPluginPropertiesException;
 import org.jboss.forge.jmm.common.protocol.ScoresManager;
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.protocol.conf.PluginConf;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 import org.jboss.logging.Logger;
 

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/tools/Tools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/tools/Tools.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/common/tools/Tools.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -23,23 +23,15 @@
 
 import org.apache.xerces.parsers.DOMParser;
 import org.jboss.forge.jmm.common.Constants;
-import org.jboss.forge.jmm.common.Tags;
-import org.jboss.forge.jmm.common.exceptions.InvalidPluginsConfigurationException;
 import org.jboss.forge.jmm.common.protocol.ScoresService;
-import org.jboss.forge.jmm.common.protocol.conf.PluginConf;
 import org.jboss.forge.jmm.common.protocol.conf.ScoresUpdater;
-import org.jboss.forge.jmm.portlet.JMMConfWatcher;
-import org.jboss.forge.jmm.portlet.JMMDescriptor;
-import org.jboss.forge.jmm.portlet.conf.PluginConfImpl;
 
 import org.jboss.logging.Logger;
 import org.jboss.mx.util.MBeanServerLocator;
 import org.jboss.shotoku.ContentManager;
-import org.jboss.shotoku.aop.CacheItem;
 import org.jboss.shotoku.exceptions.ResourceDoesNotExist;
 
 import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
@@ -49,16 +41,8 @@
  */
 public class Tools {
 	
-	@CacheItem(interval=Constants.CACHE_INTERVAL)
-	private static JMMConfWatcher conf;
-	
 	private static Logger log = Logger.getLogger(Tools.class);
 	
-	public static synchronized JMMDescriptor getDesc(final String portalName) {
-		
-		return conf.get(portalName);
-	}
-	
 	public static void truncate(Calendar cal) {
 		
 		cal.set(Calendar.HOUR_OF_DAY, 0);
@@ -90,31 +74,6 @@
 		return root;
 	}
 	
-	public static List<PluginConf> getPluginsConfList(Node pluginsRoot) {
-
-		List<PluginConf> pluginsConfList = new ArrayList<PluginConf>();
-
-		NodeList pluginNodes = pluginsRoot.getChildNodes();
-		
-		for (int i = 0; i < pluginNodes.getLength(); i++) {
-			Node pluginNode = pluginNodes.item(i);
-	
-			if (pluginNode.getNodeName() != Tags.PLUGIN_ELEMENT) {
-				continue;
-			}
-			
-			try {
-				PluginConfImpl pluginConf = new PluginConfImpl(pluginNode);
-				pluginsConfList.add(pluginConf);
-				
-			} catch (InvalidPluginsConfigurationException e) {
-				log.warn("Invalid plugin configuration. " + e.getMessage());
-			}
-		}
-
-		return pluginsConfList;
-	}
-
 	public static String formatDate(Calendar cal) {
 		
 		Date date = cal.getTime();
@@ -155,7 +114,6 @@
 			cntorServer.start();
 			
 		} catch (Exception e) {
-			// TODO Auto-generated catch block
 			log.error("Unable to start MBeanRemoteProxy", e);
 		}
 		

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMDescriptor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMDescriptor.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMDescriptor.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -28,10 +28,10 @@
 import org.jboss.forge.jmm.common.Locations;
 import org.jboss.forge.jmm.common.protocol.ScoresManager;
 import org.jboss.forge.jmm.common.protocol.conf.Configuration;
+import org.jboss.forge.jmm.common.protocol.conf.impl.ConfgurationImpl;
+import org.jboss.forge.jmm.common.protocol.conf.impl.ServiceScoresManager;
 import org.jboss.forge.jmm.common.tools.Tools;
 
-import org.jboss.forge.jmm.portlet.conf.ConfgurationImpl;
-import org.jboss.forge.jmm.portlet.conf.ServiceScoresManager;
 
 import org.jboss.logging.Logger;
 import org.jboss.portal.common.context.DelegateContext;

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMPortlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMPortlet.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMPortlet.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -30,8 +30,6 @@
 import org.jboss.forge.common.ForgeHelper;
 import org.jboss.forge.jmm.common.Constants;
 import org.jboss.forge.jmm.common.Locations;
-import org.jboss.forge.jmm.common.tools.Tools;
-
 import org.jboss.portal.common.context.DelegateContext;
 import org.jboss.portal.core.servlet.jsp.PortalJsp;
 
@@ -55,7 +53,7 @@
         String action = request.getParameter("action");
         String id = request.getParameter("id"); 
         
-        JMMDescriptor desc = Tools.getDesc(portalName);
+        JMMDescriptor desc = JMMTools.getDesc(portalName);
 
         // Set the JSP to show and get the appropriate context
         String jspPath = null;

Added: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMTools.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/portlet/JMMTools.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -0,0 +1,38 @@
+/*
+ * 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.jmm.portlet;
+
+import org.jboss.forge.jmm.common.Constants;
+import org.jboss.shotoku.aop.CacheItem;
+
+
+public class JMMTools {
+
+	@CacheItem(interval=Constants.CACHE_INTERVAL)
+	private static JMMConfWatcher conf;
+	
+	public static synchronized JMMDescriptor getDesc(final String portalName) {
+		
+		return conf.get(portalName);
+	}
+}
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/DBScoresFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/DBScoresFactory.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/DBScoresFactory.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -24,11 +24,11 @@
 
 import java.util.List;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.protocol.conf.PluginValues;
 import org.jboss.forge.jmm.common.protocol.conf.PluginsValues;
 import org.jboss.forge.jmm.common.protocol.conf.ScoresFactory;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 
 /**

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/PluginValuesEntity.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/PluginValuesEntity.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/PluginValuesEntity.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -40,8 +40,8 @@
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.protocol.conf.PluginValues;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
  * @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/PluginsValuesEntity.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/PluginsValuesEntity.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/db/protocol/PluginsValuesEntity.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -41,10 +41,10 @@
 import javax.persistence.TemporalType;
 import javax.persistence.Transient;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.protocol.conf.PluginValues;
 import org.jboss.forge.jmm.common.protocol.conf.PluginsValues;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
  *

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/PluginValuesImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/PluginValuesImpl.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/PluginValuesImpl.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -29,8 +29,8 @@
 
 import javax.persistence.Transient;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.protocol.conf.PluginValues;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
 * @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/PluginsValuesImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/PluginsValuesImpl.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/PluginsValuesImpl.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -28,10 +28,10 @@
 import java.util.HashMap;
 import java.util.Set;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.protocol.conf.PluginValues;
 import org.jboss.forge.jmm.common.protocol.conf.PluginsValues;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
 * @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/ShotokuScoresFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/ShotokuScoresFactory.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/impl/shotoku/protocol/ShotokuScoresFactory.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -23,11 +23,12 @@
 package org.jboss.forge.jmm.service.impl.shotoku.protocol;
 
 import java.util.List;
+
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.protocol.conf.PluginValues;
 import org.jboss.forge.jmm.common.protocol.conf.PluginsValues;
 import org.jboss.forge.jmm.common.protocol.conf.ScoresFactory;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 
 /**

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/KosmosPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/KosmosPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/KosmosPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -24,6 +24,7 @@
 
 import org.jboss.forge.jmm.common.exceptions.InvalidPluginPropertiesException;
 import org.jboss.forge.jmm.common.protocol.ScoresManager;
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.Plugins;
 
 import org.jboss.logging.Logger;

Deleted: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/Plugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/Plugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/Plugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -1,261 +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.jmm.service.plugins;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jboss.forge.jmm.common.Constants;
-import org.jboss.forge.jmm.common.Tags;
-import org.jboss.forge.jmm.common.exceptions.InvalidPluginPropertiesException;
-import org.jboss.forge.jmm.common.protocol.ScoresManager;
-import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.logging.Logger;
-
-/**
-* @author Pawel Wrzeszcz
-* Superclass for Status Matrix Plugins.
-*/
-
-public abstract class Plugin {
-	
-	/** Properties specyfic to this plugin */
-	protected Properties properties;
-	
-	/** Plugin id */
-	protected String id;
-	
-	/** Portal name */
-	protected String portalName;
-	
-	/** Projects present in the Status Matrix. */
-	protected List<String> projectIds;
-	
-	/** Plugins loaded before this plugin */
-	protected Plugins plugins;
-	
-	protected ScoresManager scoresManager;
-	
-	/** Default min value for plugin */
-	protected long minValue = Constants.PLUGIN_DEFAULT_MIN_VALUE;
-	
-	/** Cache values by default. */
-	protected boolean cacheValues = true;
-	
-	private Map<String,Long> cache;
-	
-	private Logger log = Logger.getLogger(Plugin.class);
-	
-	/**
-	 * @param id Plugin id
-	 * @param portalName Portal name
-	 * @param projectIds Projects present in the Status Matrix
-	 * @param properties plugin specyfic properties
-	 * or null if properties are not specified
-	 * @param scoresManager 
-	 * @patam plugins Plugins loaded before this plugin
-	 * @throws InvalidPluginPropertiesException
-	 * Thrown when properties passed in <code>propertiesNode</code>
-	 * are incorrect or missing. 
-	 */
-	public void init(String id, String portalName, List<String> projectIds,
-			Plugins plugins, Properties properties, ScoresManager scoresManager)
-						throws InvalidPluginPropertiesException {
-		
-		this.id = id;
-		this.portalName = portalName;
-		this.projectIds = projectIds;
-		this.plugins = plugins;
-		this.properties = properties;
-		this.scoresManager = scoresManager;
-		
-		parseProperties();
-		
-		if (cacheValues) {
-			cache = new HashMap<String,Long>();
-		}
-	}
-	
-	private void parseProperties() {
-
-		if (properties == null) {
-			return;
-		}
-		
-		String minValueString = properties.getProperty(
-													Tags.MIN_VALUE_PROPERTY);
-		
-		if (minValueString != null) {
-			minValue = Long.parseLong(minValueString);
-		}
-		
-		String cacheValuesString = properties.getProperty(
-													Tags.CACHE_VALUES_PROPERTY);
-		
-		if (cacheValuesString != null) {
-			cacheValues = Boolean.parseBoolean(cacheValuesString);
-		}
-	}
-
-	/**
-	 * For the given project returns value specyfic to this plugin.
-	 * If an error occured while computing a value, returns
-	 * <code>Constants.DEFAULT_PLUGIN_VALUE</code> 
-	 * 
-	 * @param projectId project id
-	 * @return value computed by plugin for the project
-	 * with the given <code>projectId</code>.
-	 */
-	public final long getValue(String projectId) {
-		
-		if (cacheValues && cache.containsKey(projectId)) {
-			
-			return cache.get(projectId);
-		}
-		
-		long v = Constants.DEFAULT_PLUGIN_VALUE;
-		
-		try {
-		
-			v = getPluginValue(projectId);
-			
-		} catch (Exception e) {
-			
-			log.warn("Exception in plugin (getPluginValue): " + id + 
-												"\nCause: ", e);	
-		}
-		
-		v = Math.max(v, minValue);
-		
-		if (cacheValues) {
-			cache.put(projectId, v);
-		}
-		
-		return v;
-	}
-	
-	/**
-	 * 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>.
-	 */
-	protected abstract long getPluginValue(String projectId);
-	
-	
-	/** For the given project returns link associated with this plugin
-	 * and project or null if such link does not exsist.
-	 */
-	public final String getLink(String projectId) {
-		
-		String s = null;
-		
-		try {
-		
-			s = getPluginLink(projectId);
-			
-		} catch (Exception e) {
-			
-			log.warn("Exception in plugin (getPluginLink)" + id + 
-												"\nCause: " + e.getMessage());	
-		}
-		
-		return s;
-	}
-	
-	/** For the given project returns link associated with this plugin and project.
-	 * Should be overrided inside plugins that have some links associated with projects.
-	 */
-	protected String getPluginLink(String projectId) {
-		return null;
-	}
-	
-	/** For the given project returns name of link associated with this plugin
-	 * or null if projects have not any link associated with this plugin.
-	 */
-	public final String getLinkName() {
-		
-		String s = null;
-		
-		try {
-		
-			s = getPluginLinkName();
-			
-		} catch (Exception e) {
-			
-			log.warn("Exception in plugin (getPluginLinkName)" + id + 
-												"\nCause: " + e.getMessage());	
-		}
-		
-		return s;
-	}
-	
-	/** For the given project returns name of link associated with this plugin
-	 * or null if projects have not any link associated with this plugin.
-	 * This method should be overrided inside plugins that have some links associated with projects.
-	 */
-	protected String getPluginLinkName() {
-		return null;
-	}
-	
-	/**
-	 * For the given project returns it's rate.
-	 * Rate is computed as project's score share in
-	 * sum of all scores. 
-	 * 
-	 * @param projectId project id
-	 * @return rate computed by plugin for the project
-	 * with the given <code>projectId</code>.
-	 */
-	public final int getRate(String projectId) {
-				
-		long totalScore = getTotalScore();
-			
-		if (totalScore == 0) {
-			return 0;
-		}
-		
-		float r = ((float) getValue(projectId) / (float) totalScore);
-		
-		return (int) (100.0 * r);
-	}
-
-	/**
-	 * @return plugin id
-	 */
-	public final String getId() { return id; };
-
-	private long getTotalScore() {
-		
-		long s = 0;
-		
-		for (String projectId : projectIds) {
-			s += getValue(projectId);
-		}
-		
-		return s;
-	}
-}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/cc/CcBuildsPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/cc/CcBuildsPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/cc/CcBuildsPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -31,8 +31,8 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.ProjectTools;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 import org.jboss.logging.Logger;
 
 

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/codelines/CodeLinesPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/codelines/CodeLinesPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/codelines/CodeLinesPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -25,8 +25,8 @@
 import java.util.List;
 
 import org.jboss.forge.common.projects.project.Repository;
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.ProjectTools;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 import org.jboss.logging.Logger;
 
 /**
@@ -47,10 +47,12 @@
 	 */
 	protected abstract long getPluginValue(String url, String userName, String password); 
 	
-	protected static Logger log = Logger.getLogger(CodeLinesPlugin.class);
+	protected static Logger log;
 	
 	public CodeLinesPlugin() {
 		super();
+		
+		log = Logger.getLogger(this.getClass());
 	}
 	
 	@Override

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/ConstPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/ConstPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/ConstPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -27,8 +27,8 @@
 
 import org.jboss.forge.jmm.common.exceptions.InvalidPluginPropertiesException;
 import org.jboss.forge.jmm.common.protocol.ScoresManager;
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
 * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/LastNDaysPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/LastNDaysPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/LastNDaysPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -30,8 +30,8 @@
 import org.jboss.forge.jmm.common.exceptions.InvalidPluginPropertiesException;
 import org.jboss.forge.jmm.common.exceptions.ScoresException;
 import org.jboss.forge.jmm.common.protocol.ScoresManager;
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
 * @author Pawel Wrzeszcz (pawel.wrzeszcz at gmail.com)

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/MathPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/MathPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/MathPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -27,8 +27,8 @@
 
 import org.jboss.forge.jmm.common.exceptions.InvalidPluginPropertiesException;
 import org.jboss.forge.jmm.common.protocol.ScoresManager;
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
 * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/RandomPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/RandomPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/RandomPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -28,8 +28,8 @@
 
 import org.jboss.forge.jmm.common.exceptions.InvalidPluginPropertiesException;
 import org.jboss.forge.jmm.common.protocol.ScoresManager;
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
 * @author Pawel Wrzeszcz (pawel.wrzeszcz at gmail.com)

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/WeightedScorePlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/WeightedScorePlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/math/WeightedScorePlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -30,8 +30,8 @@
 
 import org.jboss.forge.jmm.common.exceptions.InvalidPluginPropertiesException;
 import org.jboss.forge.jmm.common.protocol.ScoresManager;
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.Plugins;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
  * This plugin gets weights from xml configuration file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/DownloadsPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/DownloadsPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/DownloadsPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -23,8 +23,8 @@
 
 package org.jboss.forge.jmm.service.plugins.productization;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.ProjectTools;
-import org.jboss.forge.jmm.service.plugins.Plugin;;
 
 /**
  * This Plugin returns sum of all downloads for given project id name.

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/JEMSIntegrationPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/JEMSIntegrationPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/JEMSIntegrationPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -24,8 +24,8 @@
 
 import java.util.List;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.ProjectTools;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 /**
 * @author Pawel Wrzeszcz

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/PackagedForDownloadPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/PackagedForDownloadPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/PackagedForDownloadPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -22,8 +22,8 @@
 
 package org.jboss.forge.jmm.service.plugins.productization;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.ProjectTools;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 
 /**

Modified: labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/ProductizationPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/ProductizationPlugin.java	2006-12-14 17:33:32 UTC (rev 8321)
+++ labs/jbosslabs/trunk/portal-extensions/forge-jmm/src/java/org/jboss/forge/jmm/service/plugins/productization/ProductizationPlugin.java	2006-12-14 17:51:21 UTC (rev 8322)
@@ -25,8 +25,8 @@
 
 import org.jboss.forge.common.projects.project.Project;
 
+import org.jboss.forge.jmm.common.protocol.conf.Plugin;
 import org.jboss.forge.jmm.common.tools.ProjectTools;
-import org.jboss.forge.jmm.service.plugins.Plugin;
 
 
 /**




More information about the jboss-svn-commits mailing list