[jboss-svn-commits] JBL Code SVN: r6140 - labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Sep 11 09:23:10 EDT 2006
Author: wrzep
Date: 2006-09-11 09:23:07 -0400 (Mon, 11 Sep 2006)
New Revision: 6140
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/StatusConfWatcher.java
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java
Log:
JBLAB-599
Further concurrent updates bug.
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-09-11 12:08:25 UTC (rev 6139)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2006-09-11 13:23:07 UTC (rev 6140)
@@ -100,7 +100,7 @@
try {
pluginsValues = scoresManager.getLatestScores();
} catch (GetScoresException e) {
- log.warn("Getting computed scores failed ", e);
+ log.warn("Getting computed scores failed: " + e.getMessage());
scoresManager.saveAsync(projects, pluginsConf);
throw e;
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusConfWatcher.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusConfWatcher.java 2006-09-11 12:08:25 UTC (rev 6139)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusConfWatcher.java 2006-09-11 13:23:07 UTC (rev 6140)
@@ -68,13 +68,14 @@
/* Called only when some of the watched resources changes. */
public void update(String key, StatusDescriptor currentObject,
Map<String, ChangeType> changes) {
+
put(key, getDesc(key));
}
@Override
/* Called to check if updated scores are available. */
public void update(String key, StatusDescriptor desc) {
-
+
desc.update();
}
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2006-09-11 12:08:25 UTC (rev 6139)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2006-09-11 13:23:07 UTC (rev 6140)
@@ -36,6 +36,7 @@
import org.jboss.forge.status.service.impl.protocol.db.DBScoresFactory;
import org.jboss.forge.status.service.protocol.ScoresFactory;
import org.jboss.forge.status.service.protocol.ServiceConf;
+import org.jboss.logging.Logger;
import org.jboss.portal.common.context.DelegateContext;
import org.jboss.shotoku.ContentManager;
@@ -61,51 +62,74 @@
private Map<String,DelegateContext> columnContexts
= new HashMap<String,DelegateContext>();
+ private ScoresRepositoryManager repositoryManager;
+ private ScoresFactory scoresFactory;
+ private ScoresManager scoresManager;
+
private String portalName;
private ContentManager cm;
private Status status;
+ private Logger log = Logger.getLogger(StatusDescriptor.class);
+
+
public StatusDescriptor(String portalName, ContentManager cm) {
this.portalName = portalName;
this.cm = cm;
+
+ init();
- init();
+ initStatus();
}
private void init() {
- try {
- String statusPath = Locations.getXmlCmPath(portalName);
- Node statusRoot = getRoot(cm , statusPath);
-
- String pluginsPath = Locations.getXmlStatusPluginsCmPath(portalName);
- Node pluginsRoot = getRoot(cm, pluginsPath);
-
+ try {
+
String servicePath = Locations.getServicePropertiesCmPath(portalName);
org.jboss.shotoku.Node serviceNode = cm.getNode(servicePath);
ServiceConf serviceConf = new ServiceConfImpl(serviceNode);
- ScoresRepositoryManager repositoryManager =
- new DBScoresRepositoryManager();
+ repositoryManager = new DBScoresRepositoryManager();
+
+ scoresFactory = new DBScoresFactory();
+
+ scoresManager = new ServiceScoresManager(portalName,
+ serviceConf,
+ repositoryManager,
+ scoresFactory);
- ScoresFactory scoresFactory = new DBScoresFactory();
+ } catch (Exception e) {
+
+ log.warn("Unable to initialize StatusDescriptor.", e);
+ }
+
+ }
+
+ private void initStatus() {
+
+ try {
- ScoresManager scoresManager = new ServiceScoresManager(portalName,
- serviceConf,
- repositoryManager,
- scoresFactory);
+ String statusPath = Locations.getXmlCmPath(portalName);
+ Node statusRoot = getRoot(cm , statusPath);
+ String pluginsPath = Locations.getXmlStatusPluginsCmPath(portalName);
+ Node pluginsRoot = getRoot(cm, pluginsPath);
+
status = new Status(portalName, statusRoot, pluginsRoot,
scoresManager);
fillContext();
} catch (ScoresException e){
- // do nothing
+
+ // Do nothing.
+
} catch (Exception e) {
- e.printStackTrace();
+
+ log.warn("Initialization failed.", e);
}
}
@@ -146,7 +170,7 @@
public synchronized void update() {
if (status == null) {
- init();
+ initStatus();
}
if ((status != null) && (status.needsUpdate())) {
More information about the jboss-svn-commits
mailing list