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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to