[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