[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