[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