[jboss-svn-commits] JBL Code SVN: r7537 - in labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status: common service/plugins
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Nov 10 17:46:54 EST 2006
Author: wrzep
Date: 2006-11-10 17:46:52 -0500 (Fri, 10 Nov 2006)
New Revision: 7537
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tags.java
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/Plugin.java
Log:
http://jira.jboss.com/jira/browse/JBLAB-756
Caching values by default.
Pawel
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tags.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tags.java 2006-11-10 21:14:29 UTC (rev 7536)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/Tags.java 2006-11-10 22:46:52 UTC (rev 7537)
@@ -73,8 +73,9 @@
public final static String PLUGIN_CLASS_ELEMENT = "class";
public final static String PLUGIN_PROPERTIES_ELEMENT = "properties";
- /* properties */
+ /* general properties */
public static final String MIN_VALUE_PROPERTY = "min-value";
+ public static final String CACHE_VALUES_PROPERTY = "cache-values";
/* kosmos plugins */
public static final String JIRA_SERVICE_PROPERTY = "jira-service";
@@ -91,6 +92,7 @@
/* other plugins */
public static final String DAYS_TAG = "days";
public static final String PLUGIN_TAG = "plugin";
+
/**
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/Plugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/Plugin.java 2006-11-10 21:14:29 UTC (rev 7536)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/Plugin.java 2006-11-10 22:46:52 UTC (rev 7537)
@@ -22,7 +22,9 @@
package org.jboss.forge.status.service.plugins;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import org.jboss.forge.status.common.Constants;
@@ -56,8 +58,14 @@
protected ScoresManager scoresManager;
- protected long minValue;
+ /** 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);
/**
@@ -84,21 +92,31 @@
this.scoresManager = scoresManager;
parseProperties();
+
+ if (cacheValues) {
+ cache = new HashMap<String,Long>();
+ }
}
private void parseProperties() {
- if ((properties == null) ||
- (!properties.containsKey(Tags.MIN_VALUE_PROPERTY))) {
-
- minValue = Constants.PLUGIN_DEFAULT_MIN_VALUE;
-
- } else {
+ if (properties == null) {
+ return;
+ }
- String minValueString = properties.getProperty(
+ 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);
+ }
}
/**
@@ -112,6 +130,17 @@
*/
public final long getValue(String projectId) {
+ log.info("getValue " + id + " " + projectId);
+
+ if (cacheValues && cache.containsKey(projectId)) {
+
+ log.info("returning from cache");
+
+ return cache.get(projectId);
+ }
+
+ log.info("licze");
+
long v = Constants.DEFAULT_PLUGIN_VALUE;
try {
@@ -124,7 +153,13 @@
"\nCause: ", e);
}
- return Math.max(v, minValue);
+ v = Math.max(v, minValue);
+
+ if (cacheValues) {
+ cache.put(projectId, v);
+ }
+
+ return v;
}
/**
More information about the jboss-svn-commits
mailing list