[jboss-svn-commits] JBL Code SVN: r7805 - in labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status: common/protocol common/tools portlet/conf service/impl service/impl/db

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Nov 24 08:15:44 EST 2006


Author: wrzep
Date: 2006-11-24 08:15:25 -0500 (Fri, 24 Nov 2006)
New Revision: 7805

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/protocol/ScoresService.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/tools/ProjectTools.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/conf/ServiceScoresManager.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresDailyUpdater.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/db/DBServiceImpl.java
Log:
http://jira.jboss.com/jira/browse/JBLAB-809
JMM: don't try to update scores if labs ProjectsService is down.

Pawel


Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/protocol/ScoresService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/protocol/ScoresService.java	2006-11-24 10:50:54 UTC (rev 7804)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/protocol/ScoresService.java	2006-11-24 13:15:25 UTC (rev 7805)
@@ -27,7 +27,6 @@
 
 import org.jboss.forge.status.common.exceptions.GetScoresException;
 import org.jboss.forge.status.common.exceptions.ScoresException;
-import org.jboss.forge.status.common.exceptions.ScoresSaveException;
 import org.jboss.forge.status.common.protocol.conf.Configuration;
 import org.jboss.forge.status.common.protocol.conf.PluginsValuesRemote;
 
@@ -44,7 +43,7 @@
 	public void update(Configuration conf, ScoresManager scoresManager)
 												throws ScoresException;
 	
-	public void save() throws ScoresSaveException;	
+	public void save() throws ScoresException;	
 	
 	public void fillPluginsValues(Calendar cal, PluginsValuesRemote pv)
 												throws GetScoresException;

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/tools/ProjectTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/tools/ProjectTools.java	2006-11-24 10:50:54 UTC (rev 7804)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/tools/ProjectTools.java	2006-11-24 13:15:25 UTC (rev 7805)
@@ -26,14 +26,17 @@
 	private static Logger log = Logger.getLogger(ProjectTools.class);
 	
 
-	public static void init(String portalName, Properties projectsServiceProperties) {
+	public static void init(String portalName,
+				Properties projectsServiceProperties) throws NamingException {
 		
 		try {
 			service = getProjectsService(projectsServiceProperties);
 			
 		} catch (NamingException e) {
 			log.warn("Unable to obtain Projects Service. " +
-					 "(properties=" + projectsServiceProperties +")", e);
+					 "\nCause: " + e.getMessage());
+			log.debug("Properties: " + projectsServiceProperties +". ",e);
+			throw e;
 		}
 	}
 

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/conf/ServiceScoresManager.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/conf/ServiceScoresManager.java	2006-11-24 10:50:54 UTC (rev 7804)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/conf/ServiceScoresManager.java	2006-11-24 13:15:25 UTC (rev 7805)
@@ -68,35 +68,6 @@
 		initService();
 	}
 
-	public void saveAsync(final Projects projects,
-			final List<PluginConf> pluginsConf) {
-		
-		new Thread() {
-			
-			public void run() {
-				saveAsyncOnce(projects, pluginsConf);
-			}
-			
-		}.start();
-		
-	}
-	
-	private synchronized void saveAsyncOnce(Projects projects,
-										List<PluginConf> pluginsConf) {
-		if (asyncSave) {
-			return;
-		}
-		
-		try {
-			log.info("Saving scores asynchronously...");
-			save();
-			asyncSave = true;
-			log.info("Finished async save.");
-		} catch (ScoresException e) {
-			log.warn("Async saving scores failed.", e);
-		}
-	}
-
 	public synchronized void save() throws ScoresException {
 
 		ScoresService service = getService();

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresDailyUpdater.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresDailyUpdater.java	2006-11-24 10:50:54 UTC (rev 7804)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresDailyUpdater.java	2006-11-24 13:15:25 UTC (rev 7805)
@@ -32,7 +32,7 @@
 import org.jboss.annotation.ejb.LocalBinding;
 
 import org.jboss.forge.status.common.Constants;
-import org.jboss.forge.status.common.exceptions.ScoresSaveException;
+import org.jboss.forge.status.common.exceptions.ScoresException;
 import org.jboss.forge.status.common.protocol.ScoresService;
 import org.jboss.forge.status.common.protocol.conf.ScoresUpdater;
 import org.jboss.forge.status.common.protocol.conf.UpdatesConf;
@@ -74,7 +74,7 @@
        try {
     	   		scoresService.save();
     	   
-       } catch (ScoresSaveException e) {
+       } catch (ScoresException e) {
     	   
     	   		log.warn("Unable to update scores.\nCause: " + e.getMessage());
        }

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-11-24 10:50:54 UTC (rev 7804)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java	2006-11-24 13:15:25 UTC (rev 7805)
@@ -24,6 +24,7 @@
 
 import java.util.Calendar;
 import java.util.List;
+import java.util.Properties;
 
 import javax.ejb.TransactionAttribute;
 import javax.ejb.TransactionAttributeType;
@@ -70,6 +71,7 @@
 	private Logger log = Logger.getLogger(this.getClass());;
 
 	private String portalName;
+	private Properties projectsServiceProperties;
 	private boolean initialized = false;
 	
 	private ScoresManager scoresManager;
@@ -85,13 +87,19 @@
 		
 		log.info("ScoresService initialization");
 		
-		ProjectTools.init(conf.getPortalName(),
-						  conf.getProjectsServiceConf().getProperties());
+		portalName = conf.getPortalName();
+		projectsServiceProperties = conf.getProjectsServiceConf().getProperties();
 		
-		this.portalName = conf.getPortalName();
-		this.pluginsConf = conf.getPluginsConf();
-		this.projectIds = conf.getProjectIds();
+		try {
+			ProjectTools.init(portalName, projectsServiceProperties);
+		} catch (NamingException e) {
+			throw new ScoresException("Initialization failed." +
+					"\nCause: " + e.getMessage());
+		}
 		
+		pluginsConf = conf.getPluginsConf();
+		projectIds = conf.getProjectIds();
+		
 		this.scoresManager = scoresManager;
 		
 		try {
@@ -132,7 +140,7 @@
 	 * @return true iff saving was successful
 	 */
 	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
-	public void save() throws ScoresSaveException {	
+	public void save() throws ScoresException {	
 		
 		log.info("Getting plugins...");
 		
@@ -142,7 +150,14 @@
 		
 		log.info("Computing scores...");
 		
-		// Get plugin values and save them in proper node
+		// Ensure that labs ProjectsService is available
+		try {
+			ProjectTools.init(portalName, projectsServiceProperties);
+		} catch (NamingException e) {
+			throw new ScoresException(e);
+		}
+		
+		// Get plugins values and save them
 		PluginsValues pluginsValues =
 						scoresFactory.createPluginsValues(projectIds, plugins);
 		

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/db/DBServiceImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/db/DBServiceImpl.java	2006-11-24 10:50:54 UTC (rev 7804)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/db/DBServiceImpl.java	2006-11-24 13:15:25 UTC (rev 7805)
@@ -58,7 +58,7 @@
     protected EntityManager em;
 	
 	@TransactionAttribute(TransactionAttributeType.REQUIRED)
-	public void save(PluginsValues toSave) {
+	public synchronized void save(PluginsValues toSave) {
 				
 		System.out.println("save: " + toSave.getDate());
 		




More information about the jboss-svn-commits mailing list