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

Reply via email to