[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