You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2010/06/03 23:26:59 UTC

svn commit: r951158 - in /qpid/trunk/qpid/java: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/ broke...

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("xml[@fileName]");
-            for (Object subFile : subFiles)
-            {
-                finalConfig.addConfiguration(new XMLConfiguration((String) subFile));
-            }
-    
-            // all rules must have an access attribute
-            int numRules = finalConfig.getList("rule[@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("xml[@fileName]");
+        for (Object subFile : subFiles)
+        {
+            finalConfig.addConfiguration(new XMLConfiguration((String) subFile));
         }
+
+        // all rules must have an access attribute
+        int numRules = finalConfig.getList("rule[@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-subscribe@qpid.apache.org