Author: ritchiem Date: Thu Jun 3 21:26:59 2010 New Revision: 951158 URL: http://svn.apache.org/viewvc?rev=951158&view=rev Log: Remove Plugin.isConfigured Only configured plugins should be created
Modified: qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AccessControl.java qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicy.java qpid/trunk/qpid/java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java qpid/trunk/qpid/java/broker-plugins/simple-xml/src/main/java/org/apache/qpid/server/security/access/plugins/SimpleXML.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Plugin.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/AbstractPlugin.java Modified: qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AccessControl.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AccessControl.java?rev=951158&r1=951157&r2=951158&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AccessControl.java (original) +++ qpid/trunk/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AccessControl.java Thu Jun 3 21:26:59 2010 @@ -60,8 +60,16 @@ public class AccessControl extends Abstr public AccessControl newInstance(ConfigurationPlugin config) throws ConfigurationException { + AccessControlConfiguration configuration = config.getConfiguration(AccessControlConfiguration.class); + + // If there is no configuration for this plugin then don't load it. + if (configuration == null) + { + return null; + } + AccessControl plugin = new AccessControl(); - plugin.configure(config); + plugin.configure(configuration); return plugin; } }; @@ -109,14 +117,12 @@ public class AccessControl extends Abstr public void configure(ConfigurationPlugin config) throws ConfigurationException { - _config = config.getConfiguration(AccessControlConfiguration.class); + super.configure(config); + AccessControlConfiguration accessConfig = (AccessControlConfiguration) _config; - - if (isConfigured()) - { - String fileName = accessConfig.getFileName(); - File aclFile = new File(fileName); - parseFile(aclFile); - } + + String fileName = accessConfig.getFileName(); + File aclFile = new File(fileName); + parseFile(aclFile); } } Modified: qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java?rev=951158&r1=951157&r2=951158&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java (original) +++ qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java Thu Jun 3 21:26:59 2010 @@ -57,7 +57,7 @@ class SlowConsumerDetection extends Virt } public void configure(ConfigurationPlugin config) throws ConfigurationException - { + { _config = config.getConfiguration(SlowConsumerDetectionConfiguration.class); if (_config == null) @@ -144,13 +144,4 @@ class SlowConsumerDetection extends Virt return false; } - public boolean isConfigured() - { - return _config != null && _virtualhost != null; - } - - public void configure() throws ConfigurationException - { - // Empty - } } Modified: qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicy.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicy.java?rev=951158&r1=951157&r2=951158&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicy.java (original) +++ qpid/trunk/qpid/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicy.java Thu Jun 3 21:26:59 2010 @@ -46,7 +46,7 @@ public class TopicDeletePolicy implement { TopicDeletePolicyConfiguration config = configuration.getConfiguration(TopicDeletePolicyConfiguration.class); - + TopicDeletePolicy policy = new TopicDeletePolicy(); policy.configure(config); return policy; @@ -128,11 +128,6 @@ public class TopicDeletePolicy implement return false; } - public boolean isConfigured() - { - return _configuration != null; - } - public void configure(ConfigurationPlugin config) throws ConfigurationException { _configuration = (TopicDeletePolicyConfiguration) config; Modified: qpid/trunk/qpid/java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java?rev=951158&r1=951157&r2=951158&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java (original) +++ qpid/trunk/qpid/java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java Thu Jun 3 21:26:59 2010 @@ -43,8 +43,16 @@ public class Firewall extends AbstractPl { public Firewall newInstance(ConfigurationPlugin config) throws ConfigurationException { + FirewallConfiguration configuration = config.getConfiguration(FirewallConfiguration.class); + + // If there is no configuration for this plugin then don't load it. + if (configuration == null) + { + return null; + } + Firewall plugin = new Firewall(); - plugin.configure(config); + plugin.configure(configuration); return plugin; } @@ -121,43 +129,41 @@ public class Firewall extends AbstractPl public void configure(ConfigurationPlugin config) throws ConfigurationException { - _config = config.getConfiguration(FirewallConfiguration.class); + super.configure(config); FirewallConfiguration firewallConfiguration = (FirewallConfiguration) _config; - - if (isConfigured()) + + // Get default action + String defaultAction = firewallConfiguration.getConfiguration().getString("[...@default-action]"); + if (defaultAction == null) { - // Get default action - String defaultAction = firewallConfiguration.getConfiguration().getString("[...@default-action]"); - if (defaultAction == null) - { - _default = Result.ABSTAIN; - } - else if (defaultAction.equalsIgnoreCase(FirewallRule.ALLOW)) - { - _default = Result.ALLOWED; - } - else - { - _default = Result.DENIED; - } - - CompositeConfiguration finalConfig = new CompositeConfiguration(firewallConfiguration.getConfiguration()); - List subFiles = firewallConfiguration.getConfiguration().getList("x...@filename]"); - for (Object subFile : subFiles) - { - finalConfig.addConfiguration(new XMLConfiguration((String) subFile)); - } - - // all rules must have an access attribute - int numRules = finalConfig.getList("ru...@access]").size(); - _rules = new FirewallRule[numRules]; - for (int i = 0; i < numRules; i++) - { - FirewallRule rule = new FirewallRule(finalConfig.getString("rule(" + i + ")[...@access]"), - finalConfig.getList("rule(" + i + ")[...@network]"), - finalConfig.getList("rule(" + i + ")[...@hostname]")); - _rules[i] = rule; - } + _default = Result.ABSTAIN; + } + else if (defaultAction.equalsIgnoreCase(FirewallRule.ALLOW)) + { + _default = Result.ALLOWED; + } + else + { + _default = Result.DENIED; + } + + CompositeConfiguration finalConfig = new CompositeConfiguration(firewallConfiguration.getConfiguration()); + List subFiles = firewallConfiguration.getConfiguration().getList("x...@filename]"); + for (Object subFile : subFiles) + { + finalConfig.addConfiguration(new XMLConfiguration((String) subFile)); } + + // all rules must have an access attribute + int numRules = finalConfig.getList("ru...@access]").size(); + _rules = new FirewallRule[numRules]; + for (int i = 0; i < numRules; i++) + { + FirewallRule rule = new FirewallRule(finalConfig.getString("rule(" + i + ")[...@access]"), + finalConfig.getList("rule(" + i + ")[...@network]"), + finalConfig.getList("rule(" + i + ")[...@hostname]")); + _rules[i] = rule; + } + } } Modified: qpid/trunk/qpid/java/broker-plugins/simple-xml/src/main/java/org/apache/qpid/server/security/access/plugins/SimpleXML.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/simple-xml/src/main/java/org/apache/qpid/server/security/access/plugins/SimpleXML.java?rev=951158&r1=951157&r2=951158&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker-plugins/simple-xml/src/main/java/org/apache/qpid/server/security/access/plugins/SimpleXML.java (original) +++ qpid/trunk/qpid/java/broker-plugins/simple-xml/src/main/java/org/apache/qpid/server/security/access/plugins/SimpleXML.java Thu Jun 3 21:26:59 2010 @@ -52,8 +52,16 @@ public class SimpleXML extends AbstractP { public SimpleXML newInstance(ConfigurationPlugin config) throws ConfigurationException { + SimpleXMLConfiguration configuration = config.getConfiguration(SimpleXMLConfiguration.class); + + // If there is no configuration for this plugin then don't load it. + if (configuration == null) + { + return null; + } + SimpleXML plugin = new SimpleXML(); - plugin.configure(config); + plugin.configure(configuration); return plugin; } @@ -70,16 +78,13 @@ public class SimpleXML extends AbstractP public void configure(ConfigurationPlugin config) throws ConfigurationException { - _config = config.getConfiguration(SimpleXMLConfiguration.class); + super.configure(config); SimpleXMLConfiguration configuration = (SimpleXMLConfiguration) _config; - if (isConfigured()) - { - _users = new ConcurrentHashMap<String, PrincipalPermissions>(); + _users = new ConcurrentHashMap<String, PrincipalPermissions>(); - processConfig(configuration.getConfiguration()); - } + processConfig(configuration.getConfiguration()); } private void processConfig(Configuration config) Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Plugin.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Plugin.java?rev=951158&r1=951157&r2=951158&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Plugin.java (original) +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/Plugin.java Thu Jun 3 21:26:59 2010 @@ -25,12 +25,10 @@ public interface Plugin { /** - * Is this plugin configured?. - */ - boolean isConfigured(); - - /** - * Configure this plugin + * Provide Configuration to this plugin + * + * FIXME Should not throw ConfigurationException, + * Only ConfigurationPlugin should throw ConfigurationException */ public void configure(ConfigurationPlugin config) throws ConfigurationException; } Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/AbstractPlugin.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/AbstractPlugin.java?rev=951158&r1=951157&r2=951158&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/AbstractPlugin.java (original) +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/AbstractPlugin.java Thu Jun 3 21:26:59 2010 @@ -20,6 +20,7 @@ */ package org.apache.qpid.server.security; +import org.apache.commons.configuration.ConfigurationException; import org.apache.log4j.Logger; import org.apache.qpid.server.configuration.plugins.ConfigurationPlugin; import org.apache.qpid.server.security.access.ObjectProperties; @@ -33,7 +34,7 @@ public abstract class AbstractPlugin imp { protected final Logger _logger = Logger.getLogger(getClass()); - public ConfigurationPlugin _config; + protected ConfigurationPlugin _config; public Result getDefault() { @@ -43,22 +44,10 @@ public abstract class AbstractPlugin imp public abstract Result access(ObjectType object, Object instance); public abstract Result authorise(Operation operation, ObjectType object, ObjectProperties properties); - - public boolean isConfigured() - { - if (_config == null) - { - return false; - } - - for (String key : _config.getElementsProcessed()) - { - if (!_config.getConfig().containsKey(key) && _config.getConfig().subset(key).isEmpty()) - { - return false; - } - } - return true; + public void configure(ConfigurationPlugin config) throws ConfigurationException + { + _config = config; } + } --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org