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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Nov 24 05:46:52 EST 2006


Author: wrzep
Date: 2006-11-24 05:46:48 -0500 (Fri, 24 Nov 2006)
New Revision: 7803

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/portlet/Status.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/ScoresServiceImpl.java
Log:
http://jira.jboss.com/jira/browse/JBLAB-809
fixing JMM service restart bug
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-23 21:08:17 UTC (rev 7802)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/protocol/ScoresService.java	2006-11-24 10:46:48 UTC (rev 7803)
@@ -41,6 +41,9 @@
 	public void init(Configuration conf, ScoresManager scoresManager)
 												throws ScoresException;
 	
+	public void update(Configuration conf, ScoresManager scoresManager)
+												throws ScoresException;
+	
 	public void save() throws ScoresSaveException;	
 	
 	public void fillPluginsValues(Calendar cal, PluginsValuesRemote pv)

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/Status.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/Status.java	2006-11-23 21:08:17 UTC (rev 7802)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/Status.java	2006-11-24 10:46:48 UTC (rev 7803)
@@ -53,7 +53,7 @@
 * A class which handles Status Matrix information managment. 
 */
 public class Status {
-	
+
 	/** Columns to display on the main page */
 	private Columns mainPageColumns;
 							
@@ -198,7 +198,9 @@
 		try {
 			pluginsValues = scoresManager.getLatestScores();
 		} catch (ScoresException e) {
-			log.warn("Failed to get latest scores.", e);
+			log.warn("Failed to get the latest scores. " +
+						"\nCause: " + e.getMessage());
+			log.debug("Exception while getting the latest scores.", e);
 			return;
 		}
 			

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-23 21:08:17 UTC (rev 7802)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/conf/ServiceScoresManager.java	2006-11-24 10:46:48 UTC (rev 7803)
@@ -54,31 +54,20 @@
 	private static final long serialVersionUID = -3398452363516977124L;
 
 	private Properties properties;
+	private Configuration conf;
 	private boolean asyncSave = false;
 	private Logger log;
 	
 	public ServiceScoresManager(Configuration conf) throws ScoresException {
 		
 		properties = conf.getScoresServiceConf().getProperties();
+		this.conf = conf;
 		
 		log = Logger.getLogger(this.getClass());
 		
-		ScoresService service = getService();
-		
-		service.init(conf, this);
+		initService();
 	}
 
-
-	private ScoresService getService() throws ScoresException {
-		
-		try {			
-			return Tools.getScoresService(properties);
-		} catch (NamingException e) {
-			throw new ScoresException(e);
-		}
-	}
-
-
 	public void saveAsync(final Projects projects,
 			final List<PluginConf> pluginsConf) {
 		
@@ -211,4 +200,27 @@
 		ScoresService service = getService();
 		return service.getValue(pluginId, projectId, start, end);
 	}
+	
+	private ScoresService getService() throws ScoresException {
+		
+		try {			
+			ScoresService service = Tools.getScoresService(properties);
+			service.update(conf, this);
+			
+			return service;
+		} catch (NamingException e) {
+			throw new ScoresException(e);
+		}
+	}
+	
+	private void initService() throws ScoresException {
+		
+		try {			
+			ScoresService service = Tools.getScoresService(properties);
+			service.init(conf, this);
+		} catch (NamingException e) {
+			throw new ScoresException(e);
+		}
+		
+	}
 }

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-23 21:08:17 UTC (rev 7802)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java	2006-11-24 10:46:48 UTC (rev 7803)
@@ -62,8 +62,6 @@
 
 @Service(objectName=Constants.JMM_SCORES_SERVICE)
 @Management(ScoresService.class)
-//@Remote(ScoresService.class)
-//@RemoteBinding(jndiBinding=Constants.STATUS_REMOTE_SERVICE)
 public class ScoresServiceImpl implements ScoresService {
 
 
@@ -72,6 +70,7 @@
 	private Logger log = Logger.getLogger(this.getClass());;
 
 	private String portalName;
+	private boolean initialized = false;
 	
 	private ScoresManager scoresManager;
 	private ScoresRepositoryManager repositoryManager;
@@ -106,8 +105,24 @@
 		
 		ScoresUpdater updater = Tools.getScoresUpdater();
 		updater.init(this, conf.getUpdateConf());
+		
+		initialized = true;
 	}
 	
+	/* This method will be called before every get/save call
+	 * to ensure JMM sevice is initialized (it could be not in case of restart)
+	 * TODO Move service conf to service side.
+	 * */
+	public void update(Configuration conf, ScoresManager scoresManager)
+													throws ScoresException {
+		
+		if (initialized) {
+			return;
+		} else {
+			init(conf,scoresManager);
+		}
+	}
+	
 	/**
 	 * Saves current plugin values.
 	 * 
@@ -201,17 +216,17 @@
 	}
 
 	public Object invoke(Invocation mi) throws Exception {
-		
-		log.debug("ScoresService.invoke> method=" + mi.getMethod().getName());
 		 
 		 Object ret;
 		 
 		 try {
+			 log.debug("ScoresService.invoke> method=" + mi.getMethod().getName());
 			 ret = mi.getMethod().invoke(this,mi.getArguments());
+			 
 		 } catch (Exception e) {
 			 
-			log.info(e);
-			throw e;
+			 log.warn("Failed to invoke method " + mi.getMethod().getName(), e);
+			 throw e;
 		 }
 		 
 		 return ret;




More information about the jboss-svn-commits mailing list