|
From: <jbo...@li...> - 2006-06-15 11:37:15
|
Author: wrzep
Date: 2006-06-15 07:37:04 -0400 (Thu, 15 Jun 2006)
New Revision: 4766
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesEvaluator.java
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java
Log:
JBLAB-599
Definitely simplified getting and refreshing scores.
Pawel
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2006-06-15 08:02:09 UTC (rev 4765)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2006-06-15 11:37:04 UTC (rev 4766)
@@ -22,7 +22,6 @@
package org.jboss.forge.status;
-import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
@@ -75,7 +74,7 @@
private List<PluginConf> pluginsConf;
- private Timestamp timestamp;
+ private Calendar updateDate;
private Logger log;
@@ -101,10 +100,11 @@
// Get latest available scores
ScoresManager.init(portalName, serviceConf);
pluginsValues = ScoresManager.getLatestScores();
+ updateDate = pluginsValues.getDate();
// Compute and save current scores
ScoresManager.save(projects, pluginsConf);
- timestamp = ScoresManager.requestCurrentScores();
+
} catch (ScoresSaveException e) {
log.error("Saving scores failed ", e);
return;
@@ -217,54 +217,52 @@
log.info("Checking for updated scores.");
- PluginsValues pluginsValues;
+ PluginsValues pluginsValues = null;
+ // Check for updated scores
try {
- pluginsValues = ScoresManager.getScores(timestamp);
+ pluginsValues = ScoresManager.getLatestScores();
} catch (GetScoresException e) {
- log.warn("Resending \"get\" request failed.");
- return false;
+ log.warn("Failed to get lates scores.");
}
- if (pluginsValues == null) {
-
- Calendar tsCal = Calendar.getInstance();
- tsCal.setTime(timestamp);
- Calendar now = Calendar.getInstance();
-
- if (tsCal.get(Calendar.DAY_OF_MONTH) !=
- now.get(Calendar.DAY_OF_MONTH)) {
-
- try {
- ScoresManager.save(projects, pluginsConf);
- //TODO *Maybe* get rid of "save", have only "get"
- // and service performing "save" on it's own
- // (after necessary init or using it own conf)?
- timestamp = ScoresManager.requestCurrentScores();
- } catch (ScoresSaveException e) {
- log.warn("Sending \"save\" request failed.");
- } catch (GetScoresException e) {
- log.warn("Sending \"get\" request failed.");
- }
+ // Perform save if needed
+ if ((pluginsValues == null) || needsSave(pluginsValues.getDate())){
+
+ try {
+ ScoresManager.save(projects, pluginsConf);
+ } catch (ScoresSaveException e) {
+ log.warn("Sending \"save\" request failed.");
}
-
- return false;
}
+ // Refresh if scores are new
+ if ((pluginsValues != null) &&
+ (pluginsValues.getDate() != updateDate)) {
+
+ refreshScores(pluginsValues);
+ }
+
+ return true;
+ }
+
+ private boolean needsSave(Calendar date) {
+
+ Calendar now = Calendar.getInstance();
+
+ return (now.get(Calendar.DAY_OF_MONTH) != date.get(Calendar.DAY_OF_MONTH));
+ }
+
+ private void refreshScores(PluginsValues pluginsValues) {
+
log.info("Refreshing scores...");
mainPageColumns.update(pluginsValues);
matrixTemplate.update(pluginsValues);
- log.info("Finished refreshing scores.");
+ updateDate = pluginsValues.getDate();
- try {
- timestamp = ScoresManager.requestCurrentScores();
- } catch (GetScoresException e) {
- log.warn("Sending \"get\" request failed.");
- }
-
- return true;
+ log.info("Finished refreshing scores.");
}
}
\ No newline at end of file
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesEvaluator.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesEvaluator.java 2006-06-15 08:02:09 UTC (rev 4765)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesEvaluator.java 2006-06-15 11:37:04 UTC (rev 4766)
@@ -128,7 +128,7 @@
repository.setAuthenticationManager(authManager);
/* Analyze */
- log.debug("Analyzing repository " + repository.getLocation() + ".");
+ log.info("Analyzing repository " + repository.getLocation() + ".");
return repository;
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java 2006-06-15 08:02:09 UTC (rev 4765)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java 2006-06-15 11:37:04 UTC (rev 4766)
@@ -57,11 +57,6 @@
@Override
public long getValue(String projectId) {
- System.out.print("clp getValue: ");
- System.out.print(projectId + " ");
- System.out.println(cachedValues);
- //TODO and now NPE appears, where exactly??
-
if (!cachedValues.containsKey(projectId)) {
long cl = 0;
@@ -79,6 +74,8 @@
}
}
- return cachedValues.get(projectId).longValue();
+ Long value = cachedValues.get(projectId);
+
+ return value == null ? 0 : value.longValue();
}
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-06-15 08:02:09 UTC (rev 4765)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-06-15 11:37:04 UTC (rev 4766)
@@ -42,9 +42,7 @@
import org.jboss.forge.common.projects.Projects;
import org.jboss.forge.status.exceptions.GetScoresException;
import org.jboss.forge.status.exceptions.ScoresSaveException;
-import org.jboss.forge.status.service.impl.protocol.GetScoresRequestImpl;
import org.jboss.forge.status.service.impl.protocol.SaveRequestImpl;
-import org.jboss.forge.status.service.protocol.GetScoresRequest;
import org.jboss.forge.status.service.protocol.GetScoresResponse;
import org.jboss.forge.status.service.protocol.PluginConf;
import org.jboss.forge.status.service.protocol.PluginsValues;
@@ -81,31 +79,6 @@
throw new ScoresSaveException(e);
}
}
-
- public static Timestamp requestScores(Calendar cal)
- throws GetScoresException {
-
- Timestamp timestamp = new Timestamp(System.currentTimeMillis());
-
- GetScoresRequest getScoresRequest =
- new GetScoresRequestImpl(cal, timestamp);
-
- try {
- sendMessage(Constants.GET_SCORES_MESSAGE, getScoresRequest);
- } catch (Exception e) {
- throw new GetScoresException(e);
- }
-
- return timestamp;
- }
-
- public static Timestamp requestCurrentScores()
- throws GetScoresException {
-
- Calendar cal = Calendar.getInstance();
-
- return requestScores(cal);
- }
public static PluginsValues getScores(Timestamp timestamp)
throws GetScoresException {
|