[jboss-svn-commits] JBL Code SVN: r6315 - in labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status: . service service/impl tools

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 20 08:13:28 EDT 2006


Author: wrzep
Date: 2006-09-20 08:13:19 -0400 (Wed, 20 Sep 2006)
New Revision: 6315

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/StatusDescriptor.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresManager.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresService.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/ServiceScoresManager.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java
Log:
http://jira.jboss.org/jira/browse/JBLAB-762
Separated saving values from parsing configuration and getting 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-09-20 10:41:19 UTC (rev 6314)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java	2006-09-20 12:13:19 UTC (rev 6315)
@@ -22,9 +22,7 @@
 
 package org.jboss.forge.status;
 
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -36,21 +34,18 @@
 import org.jboss.forge.common.XmlTools;
 
 import org.jboss.forge.status.common.Tags;
-import org.jboss.forge.status.exceptions.InvalidPluginsConfigurationException;
 import org.jboss.forge.status.exceptions.GetScoresException;
+import org.jboss.forge.status.exceptions.ScoresException;
 import org.jboss.forge.status.service.ScoresManager;
-import org.jboss.forge.status.service.impl.protocol.PluginConfImpl;
-import org.jboss.forge.status.service.protocol.PluginConf;
 import org.jboss.forge.status.service.protocol.PluginsValues;
 import org.jboss.forge.status.templates.Column;
 import org.jboss.forge.status.templates.Columns;
 import org.jboss.forge.status.templates.MatrixTemplate;
-
 import org.jboss.logging.Logger;
+
 import org.jboss.portal.common.context.DelegateContext;
 
 import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
  
 /**
 * @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
@@ -74,20 +69,18 @@
 	/**
 	 * @param portalName portal name
 	 * @param statusRoot Node with Matrix properites
-	 * @param pluginsRoot Node defining Plugins used in the Matrix
+	 * @param scoresManager
 	 */
-	public Status(String portalName, Node statusRoot, Node pluginsRoot,
-								ScoresManager scoresManager) 
-												throws GetScoresException {
+	public Status(String portalName, Node statusRoot,
+							ScoresManager scoresManager) 
+												throws ScoresException {
 		
 		log = Logger.getLogger(this.getClass());
 		
 		// Get configuration		
 		projects = ProjectsHelper.getProjects(portalName); 
-		List<PluginConf> pluginsConf = getPluginsConfList(pluginsRoot);
 	
 		this.scoresManager = scoresManager;
-		scoresManager.setPluginsConf(pluginsConf);
 		
 		// Get columns to display on the main page
 		Node mainPageRoot =
@@ -102,31 +95,21 @@
 		matrixTemplate =
 				new MatrixTemplate(projectPageRoot, projects);
 	}
+/*
+	private static Node getRoot(ContentManager cm, String path)
+													throws ScoresException {
 
-	private List<PluginConf> getPluginsConfList(Node pluginsRoot) {
-
-		List<PluginConf> pluginsConfList = new ArrayList<PluginConf>();
-
-		NodeList pluginNodes = pluginsRoot.getChildNodes();
+		Node root;
 		
-		for (int i = 0; i < pluginNodes.getLength(); i++) {
-			Node pluginNode = pluginNodes.item(i);
-	
-			if (pluginNode.getNodeName() != Tags.PLUGIN_ELEMENT) {
-				continue;
-			}
+		try {
 			
-			try {
-				PluginConfImpl pluginConf = new PluginConfImpl(pluginNode);
-				pluginsConfList.add(pluginConf);
-				
-			} catch (InvalidPluginsConfigurationException e) {
-				log.warn("Invalid plugin configuration. " + e.getMessage());
-			}
+		} catch (Exception e) {
+			throw new ScoresException(e);
 		}
 
-		return pluginsConfList;
+		return root;
 	}
+*/
 
 	/**
 	 * Fills the given context with the Status Matrix information.

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-20 10:41:19 UTC (rev 6314)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java	2006-09-20 12:13:19 UTC (rev 6315)
@@ -23,32 +23,25 @@
 package org.jboss.forge.status;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
-import java.io.IOException;
-
 import org.jboss.forge.status.common.Locations;
-import org.jboss.forge.status.exceptions.ScoresException;
 import org.jboss.forge.status.service.ScoresManager;
 import org.jboss.forge.status.service.ScoresRepositoryManager;
 import org.jboss.forge.status.service.impl.DBScoresRepositoryManager;
 import org.jboss.forge.status.service.impl.ServiceScoresManager;
 import org.jboss.forge.status.service.impl.protocol.ServiceConfImpl;
 import org.jboss.forge.status.service.impl.protocol.db.DBScoresFactory;
+import org.jboss.forge.status.service.protocol.PluginConf;
 import org.jboss.forge.status.service.protocol.ScoresFactory;
 import org.jboss.forge.status.service.protocol.ServiceConf;
+import org.jboss.forge.status.tools.Tools;
 import org.jboss.logging.Logger;
 import org.jboss.portal.common.context.DelegateContext;
 
 import org.jboss.shotoku.ContentManager;
-import org.jboss.shotoku.exceptions.ResourceDoesNotExist;
-
 import org.w3c.dom.Node;
 
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-import org.apache.xerces.parsers.DOMParser;
-
 /**
  * @author Pawel Wrzeszcz
  * A class which handles accessing matrix information.
@@ -90,18 +83,25 @@
 		
 		try {
 		
-			String servicePath = Locations.getServicePropertiesCmPath(portalName);
+			String servicePath = Locations.
+										getServicePropertiesCmPath(portalName);
 			org.jboss.shotoku.Node serviceNode = cm.getNode(servicePath);
 			ServiceConf serviceConf = new ServiceConfImpl(serviceNode);
 			
+			String pluginsPath = Locations.
+										getXmlStatusPluginsCmPath(portalName);
+			Node pluginsNode = Tools.getRoot(cm, pluginsPath);
+			List<PluginConf> pluginsConf = Tools.getPluginsConfList(pluginsNode);
+			
 			repositoryManager = new DBScoresRepositoryManager();
 
 			scoresFactory = new DBScoresFactory();
 
 			scoresManager = new ServiceScoresManager(portalName,
-										   serviceConf,
-										   repositoryManager,
-										   scoresFactory);
+										   			 serviceConf,
+										   			 pluginsConf,
+										   			 repositoryManager,
+										   			 scoresFactory);
 			
 		} catch (Exception e) {
 	
@@ -115,18 +115,13 @@
 		try {
 			
 			String statusPath = Locations.getXmlCmPath(portalName);
-			Node statusRoot = getRoot(cm , statusPath);
+			Node statusRoot = Tools.getRoot(cm , statusPath);
 			
-			String pluginsPath = Locations.getXmlStatusPluginsCmPath(portalName);
-			Node pluginsRoot = getRoot(cm, pluginsPath);
+			//String pluginsPath = Locations.
+			//							getXmlStatusPluginsCmPath(portalName);
 							
-			status = new Status(portalName, statusRoot, pluginsRoot,
-															scoresManager);
+			status = new Status(portalName, statusRoot, scoresManager);
 			
-		} catch (ScoresException e){
-			
-			// Do nothing.
-			
 		} catch (Exception e) {
 			
 			log.warn("Initialization failed.", e);
@@ -158,14 +153,6 @@
 		return columnContexts.get(id);
 	}
 	
-	private Node getRoot(ContentManager cm, String path)
-				throws IOException, SAXException, ResourceDoesNotExist {
-		DOMParser parser = new DOMParser();
-		parser.parse(new InputSource(cm.getNode(path).getContentInputStream()));
-			
-		Node root = parser.getDocument().getDocumentElement();
-		return root;
-	}
 
 	public synchronized void update() {
 		

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresManager.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresManager.java	2006-09-20 10:41:19 UTC (rev 6314)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresManager.java	2006-09-20 12:13:19 UTC (rev 6315)
@@ -23,13 +23,10 @@
 package org.jboss.forge.status.service;
 
 import java.util.Calendar;
-import java.util.List;
 
 import javax.naming.NamingException;
 
-import org.jboss.forge.common.projects.Projects;
 import org.jboss.forge.status.exceptions.GetScoresException;
-import org.jboss.forge.status.service.protocol.PluginConf;
 import org.jboss.forge.status.service.protocol.PluginsValues;
 
 
@@ -53,6 +50,4 @@
 
 	public long getValue(String id, String projectId,
 			Calendar start, Calendar end) throws GetScoresException;
-
-	public void setPluginsConf(List<PluginConf> pluginsConf);
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresService.java	2006-09-20 10:41:19 UTC (rev 6314)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresService.java	2006-09-20 12:13:19 UTC (rev 6315)
@@ -39,12 +39,10 @@
 	
 	public void init(String portalName, ScoresManager scoresManager,
 			ScoresRepositoryManager repositoryManager,
-			ScoresFactory scoresFactory);
+			ScoresFactory scoresFactory, List<PluginConf> pluginsConf);
 	
-	public void save(Projects projects, List<PluginConf> pluginsConf)
-												throws ScoresSaveException;	
+	public void save(Projects projects) throws ScoresSaveException;	
 	
-	
 	public PluginsValues getPluginsValues(Calendar cal)
 												throws GetScoresException;
 	

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-09-20 10:41:19 UTC (rev 6314)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java	2006-09-20 12:13:19 UTC (rev 6315)
@@ -27,10 +27,10 @@
 
 import javax.ejb.Local;
 import javax.ejb.Remote;
+import javax.ejb.Stateful;
+
 import org.jboss.annotation.ejb.LocalBinding;
 import org.jboss.annotation.ejb.RemoteBinding;
-import org.jboss.annotation.ejb.Service;
-
 import org.jboss.forge.common.projects.Projects;
 
 import org.jboss.forge.status.common.Constants;
@@ -52,7 +52,7 @@
 * @author Pawel Wrzeszcz (pawel.wrzeszcz [at] gmail.com)
 */
 
- at Service
+ at Stateful
 @Local(ScoresServiceLocal.class)
 @LocalBinding(jndiBinding=Constants.STATUS_LOCAL_SERVICE)
 @Remote(ScoresServiceRemote.class)
@@ -67,15 +67,21 @@
 	private ScoresRepositoryManager repositoryManager;
 	private ScoresFactory scoresFactory;
 
+	private List<PluginConf> pluginsConf;
 	
+	
 	public void init(String portalName, ScoresManager scoresManager,
 								ScoresRepositoryManager repositoryManager,
-								ScoresFactory scoresFactory) {
+								ScoresFactory scoresFactory,
+								List<PluginConf> pluginsConf) {
 		
 		this.portalName = portalName;
+		
 		this.scoresManager = scoresManager;
 		this.repositoryManager = repositoryManager;
 		this.scoresFactory = scoresFactory;
+	
+		this.pluginsConf = pluginsConf;
 		
 		log = Logger.getLogger(this.getClass());
 	}
@@ -88,8 +94,7 @@
 	 * @param portalName
 	 * @return true iff saving was successful
 	 */
-	public void save(Projects projects, List<PluginConf> pluginsConf)
-												throws ScoresSaveException {	
+	public void save(Projects projects) throws ScoresSaveException {	
 		
 		log.info("Getting plugins...");
 		
@@ -148,5 +153,7 @@
 													throws GetScoresException {
 
 		return repositoryManager.getValue(pluginId, projectId, start, end);
-	}	
+	}
+	
+	
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ServiceScoresManager.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ServiceScoresManager.java	2006-09-20 10:41:19 UTC (rev 6314)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ServiceScoresManager.java	2006-09-20 12:13:19 UTC (rev 6315)
@@ -59,10 +59,11 @@
 	private boolean asyncSave = false;
 	private Logger log;
 	
-	private ScoresService service;
-	private List<PluginConf> pluginsConf;
+	private ScoresService service;	
 	
-	public ServiceScoresManager(String portalName, ServiceConf serviceConf,
+	public ServiceScoresManager(String portalName,
+									ServiceConf serviceConf,
+									List<PluginConf> pluginsConf,
 									ScoresRepositoryManager repositoryManager,
 									ScoresFactory scoresFactory)
 													throws ScoresException {
@@ -74,7 +75,8 @@
 		
 		try {
 			service = getService();
-			service.init(portalName, this, repositoryManager, scoresFactory);
+			service.init(portalName, this, repositoryManager,
+												scoresFactory, pluginsConf);
 		} catch (NamingException e) {
 			throw new ScoresException(e);
 		}
@@ -112,7 +114,7 @@
 
 	public void save(Projects projects) throws ScoresSaveException {
 
-		service.save(projects, pluginsConf);		
+		service.save(projects);		
 	}
 	
 	
@@ -230,10 +232,4 @@
 		
 		return service;
 	}
-
-	public void setPluginsConf(List<PluginConf> pluginsConf) {
-		
-		this.pluginsConf = pluginsConf;
-	}
-	
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java	2006-09-20 10:41:19 UTC (rev 6314)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java	2006-09-20 12:13:19 UTC (rev 6315)
@@ -1,15 +1,28 @@
 package org.jboss.forge.status.tools;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.List;
 import java.util.StringTokenizer;
 
+import org.apache.xerces.parsers.DOMParser;
 import org.jboss.forge.status.StatusDescriptor;
 import org.jboss.forge.status.StatusConfWatcher;
 import org.jboss.forge.status.common.Constants;
+import org.jboss.forge.status.common.Tags;
+import org.jboss.forge.status.exceptions.InvalidPluginsConfigurationException;
+import org.jboss.forge.status.service.impl.protocol.PluginConfImpl;
+import org.jboss.forge.status.service.protocol.PluginConf;
+import org.jboss.logging.Logger;
 
+import org.jboss.shotoku.ContentManager;
 import org.jboss.shotoku.aop.CacheItem;
+import org.jboss.shotoku.exceptions.ResourceDoesNotExist;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
 
 /**
  * Common functions.
@@ -20,6 +33,8 @@
 	@CacheItem(interval=Constants.CACHE_INTERVAL)
 	private static StatusConfWatcher conf;
 	
+	private static Logger log = Logger.getLogger(Tools.class);
+	
 	public static synchronized StatusDescriptor getDesc(final String portalName) {
 		return conf.get(portalName);
 	}
@@ -45,4 +60,39 @@
         
         return list;
 	}	
+	
+	public static Node getRoot(ContentManager cm, String path)
+					throws IOException, SAXException, ResourceDoesNotExist {
+		
+		DOMParser parser = new DOMParser();
+		parser.parse(new InputSource(cm.getNode(path).getContentInputStream()));
+
+		Node root = parser.getDocument().getDocumentElement();
+		return root;
+	}
+	
+	public static List<PluginConf> getPluginsConfList(Node pluginsRoot) {
+
+		List<PluginConf> pluginsConfList = new ArrayList<PluginConf>();
+
+		NodeList pluginNodes = pluginsRoot.getChildNodes();
+		
+		for (int i = 0; i < pluginNodes.getLength(); i++) {
+			Node pluginNode = pluginNodes.item(i);
+	
+			if (pluginNode.getNodeName() != Tags.PLUGIN_ELEMENT) {
+				continue;
+			}
+			
+			try {
+				PluginConfImpl pluginConf = new PluginConfImpl(pluginNode);
+				pluginsConfList.add(pluginConf);
+				
+			} catch (InvalidPluginsConfigurationException e) {
+				log.warn("Invalid plugin configuration. " + e.getMessage());
+			}
+		}
+
+		return pluginsConfList;
+	}
 }




More information about the jboss-svn-commits mailing list