[jboss-svn-commits] JBL Code SVN: r5177 - in labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl: . protocol protocol/db protocol/shotoku

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jul 19 09:51:57 EDT 2006


Author: wrzep
Date: 2006-07-19 09:51:49 -0400 (Wed, 19 Jul 2006)
New Revision: 5177

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/PluginValuesEntity.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/PluginsValuesEntity.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/ScoresEntity.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/shotoku/
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/shotoku/PluginValuesImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/shotoku/PluginsValuesImpl.java
Removed:
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/db/
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginValuesImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginsValuesImpl.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/DBScoresTransformer.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/DBServiceImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ShotokuScoresRepositoryManager.java
Log:
JBLAB-689
Changes in packaging.

Pawel



Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/DBScoresTransformer.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/DBScoresTransformer.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/DBScoresTransformer.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -28,9 +28,9 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import org.jboss.forge.status.service.impl.db.PluginValuesEntity;
-import org.jboss.forge.status.service.impl.db.PluginsValuesEntity;
-import org.jboss.forge.status.service.impl.db.ScoresEntity;
+import org.jboss.forge.status.service.impl.protocol.db.PluginValuesEntity;
+import org.jboss.forge.status.service.impl.protocol.db.PluginsValuesEntity;
+import org.jboss.forge.status.service.impl.protocol.db.ScoresEntity;
 import org.jboss.forge.status.service.protocol.PluginValues;
 import org.jboss.forge.status.service.protocol.PluginsValues;
 

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/DBServiceImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/DBServiceImpl.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/DBServiceImpl.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -33,7 +33,7 @@
 
 import org.jboss.forge.status.common.Constants;
 import org.jboss.forge.status.service.DBService;
-import org.jboss.forge.status.service.impl.db.ScoresEntity;
+import org.jboss.forge.status.service.impl.protocol.db.ScoresEntity;
 import org.jboss.forge.status.service.protocol.PluginsValues;
 
 

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -43,7 +43,7 @@
 import org.jboss.forge.status.service.ScoresService;
 import org.jboss.forge.status.service.ScoresServiceLocal;
 import org.jboss.forge.status.service.ScoresServiceRemote;
-import org.jboss.forge.status.service.impl.protocol.PluginsValuesImpl;
+import org.jboss.forge.status.service.impl.protocol.shotoku.PluginsValuesImpl;
 import org.jboss.forge.status.service.protocol.PluginConf;
 import org.jboss.forge.status.service.protocol.PluginsValues;
 import org.jboss.forge.status.tools.Plugins;

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ShotokuScoresRepositoryManager.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ShotokuScoresRepositoryManager.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ShotokuScoresRepositoryManager.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -36,7 +36,7 @@
 import org.jboss.forge.status.exceptions.GetScoresException;
 import org.jboss.forge.status.exceptions.ScoresSaveException;
 import org.jboss.forge.status.service.ScoresRepositoryManager;
-import org.jboss.forge.status.service.impl.protocol.PluginsValuesImpl;
+import org.jboss.forge.status.service.impl.protocol.shotoku.PluginsValuesImpl;
 import org.jboss.forge.status.service.protocol.PluginsValues;
 import org.jboss.logging.Logger;
 import org.jboss.shotoku.ContentManager;

Deleted: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginValuesImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginValuesImpl.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginValuesImpl.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.forge.status.service.impl.protocol;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.jboss.forge.status.plugins.Plugin;
-import org.jboss.forge.status.service.protocol.PluginValues;
-
-/**
-* @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
-* A class used to store plugin values in shotoku.
-*/
-
-public class PluginValuesImpl implements PluginValues {
-	
-	private static final long serialVersionUID = 5196364802717262757L;
-	
-	private Map<String,Long> values = new HashMap<String,Long>();
-	private Map<String,Integer> rates = new HashMap<String,Integer>();
-	private Map<String,String> links = new HashMap<String,String>();
-	
-	private String pluginId;
-	private String linkName;
-		
-	public PluginValuesImpl(Plugin plugin, Set<String> projectIds) {
-	
-		// Get plugin properties
-		pluginId = plugin.getId();
-		linkName = plugin.getLinkName();
-		
-		// Get plugin values
-		for (String projectId : projectIds) {
-			
-			values.put(projectId, plugin.getValue(projectId));
-			rates.put(projectId, new Integer(plugin.getRate(projectId)));
-			links.put(projectId, plugin.getLink(projectId));
-		}
-	}
-
-	public String getId() {
-		return pluginId;
-	}
-	
-	public Long getValue(String projectId) {
-		return values.get(projectId);
-	}
-
-	public Integer getRate(String projectId) {
-		return rates.get(projectId);
-	}
-	
-	public String getLink(String projectId) {
-		return links.get(projectId);
-	}
-	
-	public String getLinkName() {
-		return linkName;
-	}
-}

Deleted: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginsValuesImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginsValuesImpl.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/PluginsValuesImpl.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -1,120 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.forge.status.service.impl.protocol;
-
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Set;
-
-import org.jboss.forge.common.projects.Projects;
-import org.jboss.forge.common.projects.permissions.NullPermissionsChecker;
-
-import org.jboss.forge.status.exceptions.GetScoresException;
-import org.jboss.forge.status.plugins.Plugin;
-import org.jboss.forge.status.service.protocol.PluginValues;
-import org.jboss.forge.status.service.protocol.PluginsValues;
-import org.jboss.forge.status.tools.Plugins;
-
-/**
-* @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
-* A class used to store plugins values in shotoku.
-*/
-
-public class PluginsValuesImpl implements PluginsValues {
-
-	private static final long serialVersionUID = -1669515339062166738L;
-
-	/** Map : pluginId -> pluginValue */
-	private Map<String,PluginValues> values;
-	
-	/** Creation date */
-	private Calendar cal;
-	
-	/**
-	 * @param projects Projects present in the Status Matrix
-	 * @param plugins Plugins which values will be stored
-	 */
-	public PluginsValuesImpl(Projects projects, Plugins plugins) {
-		
-		cal = Calendar.getInstance();
-		
-		values = new HashMap<String,PluginValues>();
-		
-		Set<String> projectIds =
-			projects.getProjectIds(new NullPermissionsChecker(), null);
-		
-		for (Plugin plugin : plugins.getPlugins()) {
-			
-			PluginValuesImpl pluginValues = new PluginValuesImpl(plugin, projectIds);
-			
-			values.put(plugin.getId(), pluginValues);
-		}
-	}
-
-	/**
-	 * 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 getPluginValue(String pluginId, String projectId)
-								throws GetScoresException {
-		
-		Long val = null;
-		PluginValues pluginValues = values.get(pluginId);
-		
-		if (pluginValues != null) {
-			val = pluginValues.getValue(projectId);
-		}
-		
-		if (val == null) {
-			throw new GetScoresException();
-		}
-		
-		return val;
-	}
-	
-	/**
-	 * @return creation date
-	 */
-	public Calendar getDate() {
-		return cal;
-	}
-	
-	public boolean hasPlugin(String pluginId) {
-		return values.containsKey(pluginId);
-	}
-	
-	public PluginValues getPluginValues(String pluginId) {
-		return values.get(pluginId);
-	}
-
-	public Collection<String> getPluginsIds() {
-		return values.keySet();
-	}
-}

Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/PluginValuesEntity.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/PluginValuesEntity.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/PluginValuesEntity.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -0,0 +1,78 @@
+
+ /*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2006, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+
+package org.jboss.forge.status.service.impl.protocol.db;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+import org.jboss.forge.status.service.protocol.PluginsValues;
+
+/**
+ * @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
+ */
+ at Entity
+ at Table(name = "jblab_plugin_values")
+public class PluginValuesEntity extends ScoresEntity
+{
+
+	private long id;
+    private String pluginId;
+        
+    /**
+     * Default constructor
+     */
+    public PluginValuesEntity () {}
+        
+    /**
+     * Main constructor for PluginValuesEntity
+     * which takes all possible values to set all its attributes. 
+     */
+    public PluginValuesEntity (String pluginId) {
+    	
+    	this.pluginId = pluginId;
+    }
+
+    @Id
+    @GeneratedValue
+    @Column(name = "id")
+    public long getId() {
+		return id;
+	}
+    
+    private void setId(long id) {
+    	this.id = id;
+    }
+
+	@Column(name = "pluginId")
+	public String getPluginId() {
+		return pluginId;
+	}
+
+	public void setPluginId(String pluginId) {
+		this.pluginId = pluginId;
+	}	
+}

Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/PluginsValuesEntity.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/PluginsValuesEntity.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/PluginsValuesEntity.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -0,0 +1,84 @@
+
+ /*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2006, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+
+package org.jboss.forge.status.service.impl.protocol.db;
+
+import java.util.Calendar;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+import org.jboss.forge.status.service.protocol.PluginsValues;
+
+/**
+ *
+ * @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
+ *
+ * EJB3 Entity which is used to persist in database all
+ * project scores for Status Matrix.
+ */
+ at Entity
+ at Table(name = "jblab_plugins_values")
+public class PluginsValuesEntity extends ScoresEntity
+{
+
+	private long id;
+    private Calendar date;
+        
+    /**
+     * Default constructor
+     */
+    public PluginsValuesEntity () {}
+        
+    /**
+     * Main constructor for PluginsValuesEntity
+     * which takes all possible values to set all its attributes. 
+     */
+    public PluginsValuesEntity (Calendar date) {
+    	
+    	this.date = date;
+    }
+
+    @Id
+    @GeneratedValue
+    @Column(name = "id")
+    public long getId() {
+		return id;
+	}
+    
+    private void setId(long id) {
+    	this.id = id;
+    }
+
+	@Column(name = "date")
+	public Calendar getDate() {
+		return date;
+	}
+
+	public void setDate(Calendar date) {
+		this.date = date;
+	}
+}

Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/ScoresEntity.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/ScoresEntity.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/db/ScoresEntity.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -0,0 +1,36 @@
+
+ /*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+
+package org.jboss.forge.status.service.impl.protocol.db;
+
+
+
+
+/**
+ * @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
+ */
+
+public abstract class ScoresEntity
+{
+
+}

Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/shotoku/PluginValuesImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/shotoku/PluginValuesImpl.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/shotoku/PluginValuesImpl.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.forge.status.service.impl.protocol.shotoku;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.forge.status.plugins.Plugin;
+import org.jboss.forge.status.service.protocol.PluginValues;
+
+/**
+* @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
+* A class used to store plugin values in shotoku.
+*/
+
+public class PluginValuesImpl implements PluginValues {
+	
+	private static final long serialVersionUID = 5196364802717262757L;
+	
+	private Map<String,Long> values = new HashMap<String,Long>();
+	private Map<String,Integer> rates = new HashMap<String,Integer>();
+	private Map<String,String> links = new HashMap<String,String>();
+	
+	private String pluginId;
+	private String linkName;
+		
+	public PluginValuesImpl(Plugin plugin, Set<String> projectIds) {
+	
+		// Get plugin properties
+		pluginId = plugin.getId();
+		linkName = plugin.getLinkName();
+		
+		// Get plugin values
+		for (String projectId : projectIds) {
+			
+			values.put(projectId, plugin.getValue(projectId));
+			rates.put(projectId, new Integer(plugin.getRate(projectId)));
+			links.put(projectId, plugin.getLink(projectId));
+		}
+	}
+
+	public String getId() {
+		return pluginId;
+	}
+	
+	public Long getValue(String projectId) {
+		return values.get(projectId);
+	}
+
+	public Integer getRate(String projectId) {
+		return rates.get(projectId);
+	}
+	
+	public String getLink(String projectId) {
+		return links.get(projectId);
+	}
+	
+	public String getLinkName() {
+		return linkName;
+	}
+}

Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/shotoku/PluginsValuesImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/shotoku/PluginsValuesImpl.java	2006-07-19 13:38:36 UTC (rev 5176)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/shotoku/PluginsValuesImpl.java	2006-07-19 13:51:49 UTC (rev 5177)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.forge.status.service.impl.protocol.shotoku;
+
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Set;
+
+import org.jboss.forge.common.projects.Projects;
+import org.jboss.forge.common.projects.permissions.NullPermissionsChecker;
+
+import org.jboss.forge.status.exceptions.GetScoresException;
+import org.jboss.forge.status.plugins.Plugin;
+import org.jboss.forge.status.service.protocol.PluginValues;
+import org.jboss.forge.status.service.protocol.PluginsValues;
+import org.jboss.forge.status.tools.Plugins;
+
+/**
+* @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
+* A class used to store plugins values in shotoku.
+*/
+
+public class PluginsValuesImpl implements PluginsValues {
+
+	private static final long serialVersionUID = -1669515339062166738L;
+
+	/** Map : pluginId -> pluginValue */
+	private Map<String,PluginValues> values;
+	
+	/** Creation date */
+	private Calendar cal;
+	
+	/**
+	 * @param projects Projects present in the Status Matrix
+	 * @param plugins Plugins which values will be stored
+	 */
+	public PluginsValuesImpl(Projects projects, Plugins plugins) {
+		
+		cal = Calendar.getInstance();
+		
+		values = new HashMap<String,PluginValues>();
+		
+		Set<String> projectIds =
+			projects.getProjectIds(new NullPermissionsChecker(), null);
+		
+		for (Plugin plugin : plugins.getPlugins()) {
+			
+			PluginValuesImpl pluginValues = new PluginValuesImpl(plugin, projectIds);
+			
+			values.put(plugin.getId(), pluginValues);
+		}
+	}
+
+	/**
+	 * 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 getPluginValue(String pluginId, String projectId)
+								throws GetScoresException {
+		
+		Long val = null;
+		PluginValues pluginValues = values.get(pluginId);
+		
+		if (pluginValues != null) {
+			val = pluginValues.getValue(projectId);
+		}
+		
+		if (val == null) {
+			throw new GetScoresException();
+		}
+		
+		return val;
+	}
+	
+	/**
+	 * @return creation date
+	 */
+	public Calendar getDate() {
+		return cal;
+	}
+	
+	public boolean hasPlugin(String pluginId) {
+		return values.containsKey(pluginId);
+	}
+	
+	public PluginValues getPluginValues(String pluginId) {
+		return values.get(pluginId);
+	}
+
+	public Collection<String> getPluginsIds() {
+		return values.keySet();
+	}
+}




More information about the jboss-svn-commits mailing list