diff options
author | Martin Ritchie <ritchiem@apache.org> | 2008-03-10 16:27:07 +0000 |
---|---|---|
committer | Martin Ritchie <ritchiem@apache.org> | 2008-03-10 16:27:07 +0000 |
commit | b8c0eb840e710f8763f765b839663fe76269fcca (patch) | |
tree | 778ae713040beb427cde11fdda8939f7d3ddae00 | |
parent | 26ac1df0128425f904a3acbf4200de3442b20734 (diff) | |
download | qpid-python-b8c0eb840e710f8763f765b839663fe76269fcca.tar.gz |
QIPD-841 : Problem with SimpleACLTest was that the ConfigurationFilePrincipalDatabaseManager was looking up the ApplicationRegistry for the configuration. Most of the time this is ok but during test tearDown/startUp sometimes the config is null on lookup. This method is just wrong anyway. the ConfigurationFilePrincipalDatabaseManager setup is the only setup that looksup the configuration from the AppRegistry. So adjusted so that it takes it as a parameter as other classes do.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2.1@635590 13f79535-47bb-0310-9956-ffa450edef68
2 files changed, 8 insertions, 13 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java index e0fcaa208d..fef958000a 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java +++ b/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java @@ -58,10 +58,6 @@ public class ConfigurationFileApplicationRegistry extends ApplicationRegistry private VirtualHostRegistry _virtualHostRegistry; - - //fixme Why is this not used. - private final Map<String, VirtualHost> _virtualHosts = new ConcurrentHashMap<String, VirtualHost>(); - private PluginManager _pluginManager; @@ -113,7 +109,7 @@ public class ConfigurationFileApplicationRegistry extends ApplicationRegistry _accessManager = ACLManager.loadACLManager("default", _configuration); - _databaseManager = new ConfigurationFilePrincipalDatabaseManager(); + _databaseManager = new ConfigurationFilePrincipalDatabaseManager(_configuration); _authenticationManager = new PrincipalDatabaseAuthenticationManager(null, null); diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java index c417d7e244..15c62a62e4 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java +++ b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java @@ -50,17 +50,16 @@ public class ConfigurationFilePrincipalDatabaseManager implements PrincipalDatab Map<String, PrincipalDatabase> _databases; - public ConfigurationFilePrincipalDatabaseManager() throws Exception + public ConfigurationFilePrincipalDatabaseManager(Configuration configuration) throws Exception { _logger.info("Initialising PrincipleDatabase authentication manager"); - _databases = initialisePrincipalDatabases(); + _databases = initialisePrincipalDatabases(configuration); } - private Map<String, PrincipalDatabase> initialisePrincipalDatabases() throws Exception + private Map<String, PrincipalDatabase> initialisePrincipalDatabases(Configuration configuration) throws Exception { - Configuration config = ApplicationRegistry.getInstance().getConfiguration(); - List<String> databaseNames = config.getList(_base + ".name"); - List<String> databaseClasses = config.getList(_base + ".class"); + List<String> databaseNames = configuration.getList(_base + ".name"); + List<String> databaseClasses = configuration.getList(_base + ".class"); Map<String, PrincipalDatabase> databases = new HashMap<String, PrincipalDatabase>(); if (databaseNames.size() == 0) @@ -85,7 +84,7 @@ public class ConfigurationFilePrincipalDatabaseManager implements PrincipalDatab throw new Exception("Principal databases must implement the PrincipalDatabase interface"); } - initialisePrincipalDatabase((PrincipalDatabase) o, config, i); + initialisePrincipalDatabase((PrincipalDatabase) o, configuration, i); String name = databaseNames.get(i); if ((name == null) || (name.length() == 0)) @@ -200,7 +199,7 @@ public class ConfigurationFilePrincipalDatabaseManager implements PrincipalDatab } String jmxaccesssFile = null; - + try { jmxaccesssFile = PropertyUtils.replaceProperties(jmxaccesslist.get(0)); |