You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2013/09/17 16:26:04 UTC

svn commit: r1524061 - in /qpid/trunk/qpid/java: broker-plugins/management-http/src/main/java/resources/js/qpid/management/ broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferenc...

Author: orudyy
Date: Tue Sep 17 14:26:03 2013
New Revision: 1524061

URL: http://svn.apache.org/r1524061
Log:
QPID-5138: Disallow setting of preferneces provider for anonymous authentication provider

Modified:
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java
    qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecovererTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PreferencesProviderRestTest.java

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js?rev=1524061&r1=1524060&r2=1524061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js Tue Sep 17 14:26:03 2013
@@ -90,7 +90,6 @@ define(["dojo/_base/xhr",
                                                 event.stop(evt);
                                                 that.addPreferencesProvider();
                                             });
-
                             updater.add( that.authProviderUpdater );
                         }});
            };
@@ -168,9 +167,17 @@ define(["dojo/_base/xhr",
                                      that.details = new PrincipalDatabaseAuthenticationManager(node, that.authProviderData, controller);
                                      that.details.update(that.authProviderData);
                              }
-                             var preferencesProviderData = that.authProviderData.preferencesproviders? that.authProviderData.preferencesproviders[0]: null;
-                             that.preferencesNode = query(".preferencesProviderDetails", node)[0];
-                             that.updatePreferencesProvider(preferencesProviderData);
+                             if (that.authProviderData.type == "Anonymous")
+                             {
+                               var authenticationProviderPanel =  registry.byNode( query(".preferencesPanel", node)[0]);
+                               domStyle.set(authenticationProviderPanel.domNode, "display","none");
+                             }
+                             else
+                             {
+                               var preferencesProviderData = that.authProviderData.preferencesproviders? that.authProviderData.preferencesproviders[0]: null;
+                               that.preferencesNode = query(".preferencesProviderDetails", node)[0];
+                               that.updatePreferencesProvider(preferencesProviderData);
+                             }
                          });
 
            }
@@ -229,16 +236,20 @@ define(["dojo/_base/xhr",
                          }
                        }
                      }
-                     try
+                     var preferencesProviderData = that.authProviderData.preferencesproviders? that.authProviderData.preferencesproviders[0]: null;
+                     if (preferencesProviderData)
                      {
-                       that.updatePreferencesProvider(that.authProviderData.preferencesproviders? that.authProviderData.preferencesproviders[0]: null);
-                     }
-                     catch(e)
-                     {
-                       if (console)
-                         {
-                           console.error(e);
-                         }
+                       try
+                       {
+                         that.updatePreferencesProvider(preferencesProviderData);
+                       }
+                       catch(e)
+                       {
+                         if (console)
+                           {
+                             console.error(e);
+                           }
+                       }
                      }
                  });
 

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js?rev=1524061&r1=1524060&r2=1524061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js Tue Sep 17 14:26:03 2013
@@ -118,22 +118,25 @@ function (declare, xhr, event, dom, domC
       xhr.get({
         url: "rest/preferences",
         sync: true,
-        handleAs: "json"
-      }).then(
-       function(data) {
-         for(var preference in data)
-         {
-           if (that.hasOwnProperty(preference))
-           {
-             var value = data[preference];
-             if (typeof data[preference] == "string")
-             {
-               value = entities.encode(String(value))
-             }
-             that[preference].set("value", value);
-           }
-         }
-         that.preferencesDialog.show();
+        handleAs: "json",
+        load: function(data) {
+          for(var preference in data)
+          {
+            if (that.hasOwnProperty(preference))
+            {
+              var value = data[preference];
+              if (typeof data[preference] == "string")
+              {
+                value = entities.encode(String(value))
+              }
+              that[preference].set("value", value);
+            }
+          }
+          that.preferencesDialog.show();
+       },
+       error: function(error){
+         alert("Cannot load user preferences : " + error);
+       }
       });
     },
 

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js?rev=1524061&r1=1524060&r2=1524061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js Tue Sep 17 14:26:03 2013
@@ -164,7 +164,7 @@ define(["dojo/_base/xhr",
                                     if(this.success === true)
                                     {
                                         registry.byId("addAuthenticationProvider").hide();
-                                        if (dojo.byId("formAddAuthenticationProvider.id").value == "")
+                                        if (newAuthenticationManager.type != "Anonymous" && dojo.byId("formAddAuthenticationProvider.id").value == "")
                                         {
                                           addPreferencesProvider.show(newAuthenticationManager.name);
                                         }

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js?rev=1524061&r1=1524060&r2=1524061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js Tue Sep 17 14:26:03 2013
@@ -33,6 +33,7 @@ define(["dojo/_base/xhr",
         "dojo/_base/connect",
         "dojo/dom-style",
         "dojo/string",
+        "dojox/html/entities",
         "dojox/validate/us",
         "dojox/validate/web",
         "dijit/Dialog",
@@ -46,7 +47,7 @@ define(["dojo/_base/xhr",
         "dojox/form/CheckedMultiSelect",
         "dojox/layout/TableContainer",
         "dojo/domReady!"],
-    function (xhr, dom, construct, query, win, registry, parser, array, event, json, Memory, FilteringSelect, connect, domStyle, string) {
+    function (xhr, dom, construct, query, win, registry, parser, array, event, json, Memory, FilteringSelect, connect, domStyle, string, entities) {
 
         var addPreferencesProvider = {};
 
@@ -167,6 +168,7 @@ define(["dojo/_base/xhr",
                 this.preferencesProviderTypeChooser.set("value", null);
             }
             var dialog = registry.byId("addPreferencesProvider");
+            dialog.set("title", (providerName ? "Edit preference provider '" + entities.encode(String(providerName)) + "' " : "Add preferences provider ") + " for authentication provider '" + entities.encode(String(authenticationProviderName)) + "' ")
             if (providerName)
             {
                 xhr.get({
@@ -178,7 +180,7 @@ define(["dojo/_base/xhr",
                        var provider = data[0];
                        var providerType = provider.type;
                        that.data = provider;
-                       nameWidget.set("value", provider.name);
+                       nameWidget.set("value",  entities.encode(String(provider.name)));
                        nameWidget.set("disabled", true);
                        that.preferencesProviderTypeChooser.set("value", providerType);
                        that.preferencesProviderTypeChooser.set("disabled", true);

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js?rev=1524061&r1=1524060&r2=1524061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js Tue Sep 17 14:26:03 2013
@@ -28,9 +28,10 @@ define(["dojo/_base/xhr",
         "dojo/_base/event",
         "dojo/_base/json",
         "dojo/string",
+        "dojox/html/entities",
         "dojo/text!../../../../../authenticationprovider/preferences/filesystempreferences/add.html",
         "dojo/domReady!"],
-    function (xhr, dom, domConstruct, win, registry, parser, array, event, json, string, template) {
+    function (xhr, dom, domConstruct, win, registry, parser, array, event, json, string, entities, template) {
         return {
             show: function(node, data) {
                 dojo.forEach(dijit.findWidgets(node), function(w) {
@@ -41,7 +42,7 @@ define(["dojo/_base/xhr",
                 var pathWidget = registry.byId("preferencesProvider.path")
                 if (data)
                 {
-                  pathWidget.set("value", data["path"]);
+                  pathWidget.set("value", entities.encode(String(data["path"])));
                 }
             }
         };

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java?rev=1524061&r1=1524060&r2=1524061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java Tue Sep 17 14:26:03 2013
@@ -56,6 +56,7 @@ import org.apache.qpid.server.security.S
 import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.security.auth.UsernamePrincipal;
 import org.apache.qpid.server.security.auth.database.PrincipalDatabase;
+import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManagerFactory;
 import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
 import org.apache.qpid.server.security.auth.manager.PrincipalDatabaseAuthenticationManager;
 import org.apache.qpid.server.security.SecurityManager;
@@ -303,6 +304,10 @@ public abstract class AuthenticationProv
             if (_state.compareAndSet(state, State.STOPPED))
             {
                 _authManager.close();
+                if (_preferencesProvider != null)
+                {
+                    _preferencesProvider.setDesiredState(_preferencesProvider.getActualState(), State.STOPPED);
+                }
                 return true;
             }
             else
@@ -421,6 +426,10 @@ public abstract class AuthenticationProv
 
     public void setPreferencesProvider(PreferencesProvider provider)
     {
+        if (AnonymousAuthenticationManagerFactory.PROVIDER_TYPE.equals(getAttribute(TYPE)))
+        {
+            throw new IllegalConfigurationException("Cannot set preferences provider for anonymous authentication provider");
+        }
         _preferencesProvider = provider;
     }
 

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java?rev=1524061&r1=1524060&r2=1524061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java Tue Sep 17 14:26:03 2013
@@ -520,7 +520,7 @@ public class FileSystemPreferencesProvid
 
     private void getFileLock() throws IOException, AMQStoreException
     {
-        File lockFile = new File(_preferencesLocation.getAbsolutePath() + ".lck");
+        File lockFile = new File(getLockFileName());
         lockFile.createNewFile();
 
         FileOutputStream out = new FileOutputStream(lockFile);
@@ -540,6 +540,11 @@ public class FileSystemPreferencesProvid
         lockFile.deleteOnExit();
     }
 
+    private String getLockFileName()
+    {
+        return _preferencesLocation.getAbsolutePath() + ".lck";
+    }
+
     public void close()
     {
         try
@@ -552,7 +557,7 @@ public class FileSystemPreferencesProvid
         }
         finally
         {
-            new File(_preferencesLocation.getAbsolutePath() + ".lck").delete();
+            new File(getLockFileName()).delete();
             _fileLock = null;
             _preferences.clear();
         }

Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecovererTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecovererTest.java?rev=1524061&r1=1524060&r2=1524061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecovererTest.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecovererTest.java Tue Sep 17 14:26:03 2013
@@ -43,7 +43,7 @@ import org.apache.qpid.server.model.adap
 import org.apache.qpid.server.model.adapter.PreferencesProviderCreator;
 import org.apache.qpid.server.plugin.AuthenticationManagerFactory;
 import org.apache.qpid.server.plugin.QpidServiceLoader;
-import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManagerFactory;
+import org.apache.qpid.server.security.auth.manager.PlainPasswordFileAuthenticationManagerFactory;
 import org.apache.qpid.server.util.BrokerTestHelper;
 import org.apache.qpid.test.utils.QpidTestCase;
 import org.apache.qpid.test.utils.TestFileUtils;
@@ -82,44 +82,61 @@ public class AuthenticationProviderRecov
 
     public void testRecoverAuthenticationProviderWithPreferencesProvider()
     {
-        Map<String, Object> authenticationAttributes = new HashMap<String, Object>();
-        authenticationAttributes.put(AuthenticationManagerFactory.ATTRIBUTE_TYPE, AnonymousAuthenticationManagerFactory.PROVIDER_TYPE);
-        authenticationAttributes.put(AuthenticationProvider.NAME, "test-authenticator");
-        UUID authenticationId = UUID.randomUUID();
-
-        final PreferencesProviderRecoverer preferencesRecoverer = new PreferencesProviderRecoverer(_preferencesProviderCreator);
-        RecovererProvider recovererProvider = new RecovererProvider()
+        File authenticationProviderFile = TestFileUtils.createTempFile(this, "test-authenticator.txt", "test_user:test_user");
+        try
         {
-            @Override
-            public ConfiguredObjectRecoverer<? extends ConfiguredObject> getRecoverer(String type)
+            Map<String, Object> authenticationAttributes = new HashMap<String, Object>();
+            authenticationAttributes.put(AuthenticationManagerFactory.ATTRIBUTE_TYPE,
+                    PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE);
+            authenticationAttributes.put(AuthenticationProvider.NAME, "test-authenticator");
+            authenticationAttributes.put(PlainPasswordFileAuthenticationManagerFactory.ATTRIBUTE_PATH,
+                    authenticationProviderFile.getAbsolutePath());
+            UUID authenticationId = UUID.randomUUID();
+
+            final PreferencesProviderRecoverer preferencesRecoverer = new PreferencesProviderRecoverer(_preferencesProviderCreator);
+            RecovererProvider recovererProvider = new RecovererProvider()
             {
-                return preferencesRecoverer;
+                @Override
+                public ConfiguredObjectRecoverer<? extends ConfiguredObject> getRecoverer(String type)
+                {
+                    return preferencesRecoverer;
+                }
+            };
+
+            Map<String, Object> preferencesAttributes = new HashMap<String, Object>();
+            UUID preferencesId = UUID.randomUUID();
+            preferencesAttributes.put(PreferencesProvider.TYPE, FileSystemPreferencesProvider.class);
+            preferencesAttributes.put(PreferencesProvider.NAME, "test-provider");
+            File file = TestFileUtils.createTempFile(this, ".prefs.json",
+                    "{\"test_user\":{\"pref1\": \"pref1Value\", \"pref2\": 1.0} }");
+            preferencesAttributes.put(FileSystemPreferencesProvider.PATH, file.getAbsolutePath());
+            ConfigurationEntry preferencesEntry = new ConfigurationEntry(preferencesId, PreferencesProvider.class.getSimpleName(),
+                    preferencesAttributes, Collections.<UUID> emptySet(), _configurationStore);
+            when(_configurationStore.getEntry(preferencesId)).thenReturn(preferencesEntry);
+
+            ConfigurationEntry authenticationProviderEntry = new ConfigurationEntry(authenticationId,
+                    AuthenticationProvider.class.getSimpleName(), authenticationAttributes, Collections.singleton(preferencesId),
+                    _configurationStore);
+            try
+            {
+                AuthenticationProvider authenticationProvider = _recoverer.create(recovererProvider, authenticationProviderEntry,
+                        _broker);
+                assertNotNull("Authentication provider was not recovered", authenticationProvider);
+                assertEquals("Unexpected name", "test-authenticator", authenticationProvider.getName());
+                assertEquals("Unexpected id", authenticationId, authenticationProvider.getId());
+                PreferencesProvider preferencesProvider = authenticationProvider.getPreferencesProvider();
+                assertNotNull("Preferences provider was not recovered", preferencesProvider);
+                assertEquals("Unexpected path", file.getAbsolutePath(),
+                        preferencesProvider.getAttribute(FileSystemPreferencesProvider.PATH));
+            }
+            finally
+            {
+                file.delete();
             }
-        };
-
-        Map<String, Object> preferencesAttributes = new HashMap<String, Object>();
-        UUID preferencesId = UUID.randomUUID();
-        preferencesAttributes.put(PreferencesProvider.TYPE, FileSystemPreferencesProvider.class);
-        preferencesAttributes.put(PreferencesProvider.NAME, "test-provider");
-        File file = TestFileUtils.createTempFile(this, ".prefs.json", "{\"test_user\":{\"pref1\": \"pref1Value\", \"pref2\": 1.0} }");
-        preferencesAttributes.put(FileSystemPreferencesProvider.PATH, file.getAbsolutePath());
-        ConfigurationEntry preferencesEntry = new ConfigurationEntry(preferencesId, PreferencesProvider.class.getSimpleName(), preferencesAttributes, Collections.<UUID>emptySet(), _configurationStore);
-        when(_configurationStore.getEntry(preferencesId)).thenReturn(preferencesEntry);
-
-        ConfigurationEntry authenticationProviderEntry = new ConfigurationEntry(authenticationId, AuthenticationProvider.class.getSimpleName(), authenticationAttributes, Collections.singleton(preferencesId), _configurationStore);
-        try
-        {
-            AuthenticationProvider authenticationProvider = _recoverer.create(recovererProvider, authenticationProviderEntry, _broker);
-            assertNotNull("Authentication provider was not recovered", authenticationProvider);
-            assertEquals("Unexpected name", "test-authenticator", authenticationProvider.getName());
-            assertEquals("Unexpected id", authenticationId, authenticationProvider.getId());
-            PreferencesProvider preferencesProvider = authenticationProvider.getPreferencesProvider();
-            assertNotNull("Preferences provider was not recovered", preferencesProvider);
-            assertEquals("Unexpected path", file.getAbsolutePath(), preferencesProvider.getAttribute(FileSystemPreferencesProvider.PATH));
         }
         finally
         {
-            file.delete();
+            authenticationProviderFile.delete();
         }
     }
 

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PreferencesProviderRestTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PreferencesProviderRestTest.java?rev=1524061&r1=1524060&r2=1524061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PreferencesProviderRestTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PreferencesProviderRestTest.java Tue Sep 17 14:26:03 2013
@@ -13,17 +13,19 @@ import org.apache.qpid.server.model.Pref
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.adapter.FileSystemPreferencesProvider;
 import org.apache.qpid.server.plugin.AuthenticationManagerFactory;
-import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManagerFactory;
+import org.apache.qpid.server.security.auth.manager.PlainPasswordFileAuthenticationManagerFactory;
 import org.apache.qpid.test.utils.TestBrokerConfiguration;
 import org.apache.qpid.test.utils.TestFileUtils;
 
 public class PreferencesProviderRestTest extends QpidRestTestCase
 {
-    private Map<String, File> _providers;
+    private Map<String, File> _preferencesProviderFiles;
+    private File _authenticationProviderFile;
 
     public void setUp() throws Exception
     {
-        _providers = new HashMap<String, File>();
+        _authenticationProviderFile = TestFileUtils.createTempFile(this, ".test.prefs.txt", "test:test");
+        _preferencesProviderFiles = new HashMap<String, File>();
         super.setUp();
     }
 
@@ -35,7 +37,11 @@ public class PreferencesProviderRestTest
         }
         finally
         {
-            for (File file : _providers.values())
+            if (_authenticationProviderFile != null)
+            {
+                _authenticationProviderFile.delete();
+            }
+            for (File file : _preferencesProviderFiles.values())
             {
                 file.delete();
             }
@@ -47,8 +53,9 @@ public class PreferencesProviderRestTest
     {
         super.customizeConfiguration();
         Map<String, Object> anonymousAuthProviderAttributes = new HashMap<String, Object>();
-        anonymousAuthProviderAttributes.put(AuthenticationManagerFactory.ATTRIBUTE_TYPE, AnonymousAuthenticationManagerFactory.PROVIDER_TYPE);
-        anonymousAuthProviderAttributes.put(AuthenticationProvider.NAME,  TestBrokerConfiguration.ENTRY_NAME_ANONYMOUS_PROVIDER);
+        anonymousAuthProviderAttributes.put(AuthenticationManagerFactory.ATTRIBUTE_TYPE, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE);
+        anonymousAuthProviderAttributes.put(AuthenticationProvider.NAME,  TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER + "-2");
+        anonymousAuthProviderAttributes.put(PlainPasswordFileAuthenticationManagerFactory.ATTRIBUTE_PATH, _authenticationProviderFile.getAbsolutePath());
         getBrokerConfiguration().addAuthenticationProviderConfiguration(anonymousAuthProviderAttributes);
     }
 
@@ -58,7 +65,7 @@ public class PreferencesProviderRestTest
         assertEquals("Unexpected number of providers", 0, providerDetails.size());
 
         createPreferencesProvider(TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER, "test1");
-        createPreferencesProvider(TestBrokerConfiguration.ENTRY_NAME_ANONYMOUS_PROVIDER, "test2");
+        createPreferencesProvider(TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER + "-2", "test2");
 
         providerDetails = getRestTestHelper().getJsonAsList("/rest/preferencesprovider");
         assertEquals("Unexpected number of providers", 2, providerDetails.size());
@@ -72,6 +79,11 @@ public class PreferencesProviderRestTest
                 "/rest/preferencesprovider/" + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER + "/test1");
         assertProvider(provider);
         assertEquals("Unexpected provider name ", "test1", provider.get(PreferencesProvider.NAME));
+
+        Map<String, Object> provider2 = getRestTestHelper().getJsonAsSingletonList(
+                "/rest/preferencesprovider/" + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER + "-2/test2");
+        assertProvider(provider);
+        assertEquals("Unexpected provider name ", "test2", provider2.get(PreferencesProvider.NAME));
     }
 
     public void testDeleteProvider() throws Exception
@@ -98,7 +110,7 @@ public class PreferencesProviderRestTest
         assertEquals("Unexpected provider name ", "test1", provider.get(PreferencesProvider.NAME));
 
         File file = TestFileUtils.createTempFile(this, ".prefs.json", "{\"admin\":{\"something\": \"somethingValue\"}}");
-        _providers.put("new-test1", file);
+        _preferencesProviderFiles.put("new-test1", file);
         Map<String, Object> newAttributes = new HashMap<String, Object>();
         newAttributes.put(FileSystemPreferencesProvider.PATH, file.getAbsolutePath());
 
@@ -123,7 +135,7 @@ public class PreferencesProviderRestTest
         String name = (String) provider.get(PreferencesProvider.NAME);
         assertNotNull("Name cannot be null", name);
         assertEquals("Unexpected path for provider " + name, (String) provider.get(FileSystemPreferencesProvider.PATH),
-                _providers.get(name).getAbsolutePath());
+                _preferencesProviderFiles.get(name).getAbsolutePath());
     }
 
     public void assertProviderCommonAttributes(Map<String, Object> provider)
@@ -146,7 +158,7 @@ public class PreferencesProviderRestTest
         attributes.put(PreferencesProvider.NAME, providerName);
         attributes.put(PreferencesProvider.TYPE, FileSystemPreferencesProvider.PROVIDER_TYPE);
         File file = TestFileUtils.createTempFile(this, ".prefs.json", "{\"admin\":{\"language\": \"en\"}}");
-        _providers.put(providerName, file);
+        _preferencesProviderFiles.put(providerName, file);
         attributes.put(FileSystemPreferencesProvider.PATH, file.getAbsolutePath());
 
         int responseCode = getRestTestHelper().submitRequest(



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org