Author: wrzep Date: 2006-04-25 08:25:37 -0400 (Tue, 25 Apr 2006) New Revision: 3958 Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/XmlTools.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/PluginConfImpl.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/tools/Plugins.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ServiceConf.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java Log: JBLAB-599 enabled remote service conf through service.xml in cms Pawel Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/XmlTools.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/XmlTools.java 2006-04-25 06:22:38 UTC (rev 3957) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/XmlTools.java 2006-04-25 12:25:37 UTC (rev 3958) @@ -23,6 +23,7 @@ import java.util.HashMap; import java.util.Map; +import java.util.Properties; import javax.xml.transform.TransformerException; @@ -263,4 +264,48 @@ return buf.toString(); } + + /** + * Computes Properites from the given properties Node. + * + * @param propertiesNode Node matching the following pattern: + * <code><properties> + * <property> + * <name>propertyName</name> + * <value>propertyValue</value> + * </property> + * ... + * </properties></code> + * @return Properties or null if properties are not specified + */ + public static Properties parseProperties(Node propertiesNode) { + + if ((propertiesNode == null) || + (propertiesNode.getNodeName() != "properties")) { + return null; + } + + Properties props = new Properties(); + NodeList nodes = propertiesNode.getChildNodes(); + + for (int i = 0; i < nodes.getLength(); i++) { + Node node = nodes.item(i); + + if ((node.getNodeType() == Node.ELEMENT_NODE) + && (node.getNodeName() == "property")){ + + String propertyName = + XmlTools.getChildNodeValue(node, "name"); + String propertyValue = + XmlTools.getChildNodeValue(node, "value"); + + if ((propertyName != null) && (propertyValue != null)) { + props.setProperty(propertyName, propertyValue); + } + } + } + + return props; + } + } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/PluginConfImpl.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/PluginConfImpl.java 2006-04-25 06:22:38 UTC (rev 3957) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/PluginConfImpl.java 2006-04-25 12:25:37 UTC (rev 3958) @@ -31,7 +31,6 @@ import org.jboss.forge.status.service.model.PluginConf; import org.jboss.forge.status.tools.Tags; import org.w3c.dom.Node; -import org.w3c.dom.NodeList; /** * @author Pawel Wrzeszcz @@ -41,7 +40,7 @@ private static final long serialVersionUID = 8598887068548048511L; private Map<String,String> fields = new HashMap<String,String>(); - private Properties properties = new Properties(); + private Properties properties; public PluginConfImpl(Node pluginNode) throws InvalidPluginsConfigurationException { @@ -54,7 +53,8 @@ Node pluginPropertiesNode = XmlTools.getFirstNodeWithName(pluginNode, Tags.PLUGIN_PROPERTIES_ELEMENT); - addPluginProperties(pluginPropertiesNode); + + properties = XmlTools.parseProperties(pluginPropertiesNode); } public String getFieldValue(String fieldName) { @@ -78,37 +78,4 @@ fields.put(fieldName, fieldValue); } - - /** - * Computes plugin properites from given properties Node. - * - * @param propertiesNode Node containging plugin properties - * @return plugin properties or null if properties are not specified - */ - private void addPluginProperties(Node propertiesNode) { - - if (propertiesNode == null) { - return; - } - - NodeList nodes = propertiesNode.getChildNodes(); - - for (int i = 0; i < nodes.getLength(); i++) { - Node node = nodes.item(i); - - if ((node.getNodeType() == Node.ELEMENT_NODE) - && (node.getNodeName() == "property")){ - - String propertyName = - XmlTools.getChildNodeValue(node, "name"); - String propertyValue = - XmlTools.getChildNodeValue(node, "value"); - - if ((propertyName != null) && (propertyValue != null)) { - properties.setProperty(propertyName, propertyValue); - } - } - } - } - } \ No newline at end of file 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-04-25 06:22:38 UTC (rev 3957) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java 2006-04-25 12:25:37 UTC (rev 3958) @@ -65,9 +65,9 @@ @Service(objectName=Tools.STATUS_SERVICE_NAME) @Management(ScoresService.class) @Local(ScoresService.class) -@LocalBinding(jndiBinding="Status/ScoresService") +@LocalBinding(jndiBinding=Tools.STATUS_LOCAL_SERVICE) @Remote(ScoresService.class) -@RemoteBinding(jndiBinding="Status/RemoteScoresService") +@RemoteBinding(jndiBinding=Tools.STATUS_REMOTE_SERVICE) public class ScoresServiceImpl implements ScoresService { private static Logger log = Logger.getLogger(ScoresServiceImpl.class); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java 2006-04-25 06:22:38 UTC (rev 3957) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java 2006-04-25 12:25:37 UTC (rev 3958) @@ -105,7 +105,6 @@ } // Get plugin properties - Properties pluginProperties = pluginConf.getProperties(); // Get plugin instance; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-04-25 06:22:38 UTC (rev 3957) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-04-25 12:25:37 UTC (rev 3958) @@ -53,9 +53,9 @@ ScoresManager.portalName = portalName; isRemote = serviceConf.isRemote(); - System.out.println("local: " + isRemote); + System.out.println("remote: " + isRemote); - properties = getRemoteServiceProperties(); + properties = getServiceProperties(); } public static void save(Projects projects, List<PluginConf> pluginsConf) @@ -122,15 +122,18 @@ private static ScoresService getService() throws NamingException { - Context context = new InitialContext(); //////////////////////// properties + Context context = new InitialContext(properties); // Perform look up using JNDI name of ejb object - Object ref = context.lookup("Status/RemoteScoresService"); + String serviceBinding = + (isRemote ? Tools.STATUS_REMOTE_SERVICE : + Tools.STATUS_LOCAL_SERVICE); + Object ref = context.lookup(serviceBinding); // Narrow the reference of the object returned by lookup() method - ScoresService service = - (ScoresService)PortableRemoteObject.narrow( ref, ScoresService.class); - System.out.println("ScoresService " + service); + ScoresService service = + (ScoresService) PortableRemoteObject. + narrow( ref, ScoresService.class); return service; } @@ -141,12 +144,12 @@ * java.naming.provider.url=localhost:1099 */ - private static Properties getRemoteServiceProperties() { + private static Properties getServiceProperties() { Properties props = new Properties(); props.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory"); - props.put(Context.URL_PKG_PREFIXES, "rg.jboss.naming:org.jnp.interfaces"); + props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); props.put(Context.PROVIDER_URL, "localhost:1099"); props.put("jnp.disableDiscovery", true); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ServiceConf.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ServiceConf.java 2006-04-25 06:22:38 UTC (rev 3957) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ServiceConf.java 2006-04-25 12:25:37 UTC (rev 3958) @@ -22,6 +22,8 @@ package org.jboss.forge.status.tools; +import java.util.Properties; + import org.jboss.forge.common.XmlTools; import org.jboss.forge.status.tools.Tags; @@ -32,21 +34,40 @@ */ public class ServiceConf { - boolean remoteService = false; + boolean remoteService; + Properties properties; + public ServiceConf(Node serviceNode) { + remoteService = parseRemote(serviceNode); + + properties = parseProperties(serviceNode); + } + + public boolean isRemote() { + return remoteService; + } + + private boolean parseRemote(Node serviceNode) { + String remoteServiceString = - XmlTools.getChildNodeValue(serviceNode, - Tags.SERVICE_REMOTE_ELEMENT); - + XmlTools.getChildNodeValue(serviceNode, + Tags.SERVICE_REMOTE_ELEMENT); + if (remoteServiceString != null) { - remoteService = (remoteServiceString == "true"); + return (remoteServiceString == "true"); } + return false; } - - public boolean isRemote() { - return remoteService; - } + + private Properties parseProperties(Node serviceNode) { + + Node propsNode = + XmlTools.getFirstNodeWithName(serviceNode, + Tags.SERVICE_PROPERTIES_ELEMENT); + + return XmlTools.parseProperties(propsNode); + } } \ No newline at end of file Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java 2006-04-25 06:22:38 UTC (rev 3957) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java 2006-04-25 12:25:37 UTC (rev 3958) @@ -58,6 +58,7 @@ /* service.xml tags */ public static final String SERVICE_REMOTE_ELEMENT = "remote"; + public static final String SERVICE_PROPERTIES_ELEMENT = "properties"; /* plugins.xml tags */ public final static String PLUGIN_ELEMENT = "plugin"; 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-04-25 06:22:38 UTC (rev 3957) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java 2006-04-25 12:25:37 UTC (rev 3958) @@ -36,6 +36,8 @@ private static final String SHOTOKU_STATUS_DIR = "status"; public static final String STATUS_SERVICE_NAME = "status:service=scores"; + public static final String STATUS_LOCAL_SERVICE = "Status/LocalScoresService"; + public static final String STATUS_REMOTE_SERVICE = "Status/RemoteScoresService"; @CacheItem private static StatusConfWatcher conf; |