From: <jbo...@li...> - 2005-12-07 17:17:31
|
Author: wrzep Date: 2005-12-07 12:17:26 -0500 (Wed, 07 Dec 2005) New Revision: 1722 Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java Log: missing or incorrect plugin properties handling http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-07 16:06:26 UTC (rev 1721) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-07 17:17:26 UTC (rev 1722) @@ -42,6 +42,7 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.jboss.forge.status.plugins.InvalidPluginPropertiesException; import org.jboss.forge.status.plugins.StatusPlugin; import org.jboss.logging.Logger; @@ -210,7 +211,12 @@ // Initialize plugin - plugin.init(projects, pluginSpecificPropertiesMap); + try { + plugin.init(projects, pluginSpecificPropertiesMap); + } catch (InvalidPluginPropertiesException e) { + log.warn(e); + return null; + } return plugin; } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-07 16:06:26 UTC (rev 1721) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-07 17:17:26 UTC (rev 1722) @@ -35,7 +35,7 @@ protected Projects projects; protected Map properties; - public void init(Projects projects, Map<String,String> properties) { + public void init(Projects projects, Map<String,String> properties) throws InvalidPluginPropertiesException { this.projects = projects; this.properties = properties; } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2005-12-07 16:06:26 UTC (rev 1721) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2005-12-07 17:17:26 UTC (rev 1722) @@ -23,6 +23,7 @@ package org.jboss.forge.status.plugins.svn; import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.status.plugins.InvalidPluginPropertiesException; import org.jboss.forge.status.plugins.StatusPlugin; import java.net.MalformedURLException; @@ -44,12 +45,13 @@ public abstract class SvnStatusPlugin extends StatusPlugin { + private static final String SVN_SERVICE_PROPERTY = "svn-service"; + private Map<String,Map> projectsMaps; private Logger log; private String serviceURL; - //"http://localhost:8080/kosmos-server/kosmos-services/svn-service"; public SvnStatusPlugin() { super(); @@ -58,11 +60,26 @@ log = Logger.getLogger(this.getClass()); } - public void init(Projects projects, Map<String,String> properties) { + public void init(Projects projects, Map<String,String> properties) throws InvalidPluginPropertiesException { super.init(projects,properties); - serviceURL = properties.get("svn-service"); + + getProperties(properties); + } + private void getProperties(Map<String, String> properties) throws InvalidPluginPropertiesException { + if (properties == null) { + throw new InvalidPluginPropertiesException("Missing properties for " + getName() + " plugin."); + } + + serviceURL = properties.get(SVN_SERVICE_PROPERTY); + + if (serviceURL == null) { + throw new InvalidPluginPropertiesException( + "Missing " + SVN_SERVICE_PROPERTY + " property for " + getName() + " plugin."); + } + } + protected abstract int getPluginSpecyficValue(Map projectMap); protected abstract int getPluginSpecyficDefaultValue(); |