From c50149d860f90d40b391d26110b35e101d80c808 Mon Sep 17 00:00:00 2001 From: Tomas Restrepo Date: Sun, 13 May 2007 23:08:40 +0000 Subject: Merged revisions 537673 via svnmerge from https://svn.apache.org/repos/asf/incubator/qpid/branches/M2 ........ r537673 | tomasr | 2007-05-13 18:03:30 -0500 (Sun, 13 May 2007) | 3 lines * QPID-486 Choose strongest SASL Mechanism first * Remove unnecessary wrapping of AMQExceptions on connection failure ........ git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@537676 13f79535-47bb-0310-9956-ffa450edef68 --- .../AuthenticationConfigurationSectionHandler.cs | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'qpid/dotnet/Qpid.Client/Client/Configuration') diff --git a/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs b/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs index 54ee2c6660..0d1fb73c31 100644 --- a/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs +++ b/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs @@ -37,7 +37,7 @@ namespace Qpid.Client.Configuration public object Create(object parent, object configContext, System.Xml.XmlNode section) { NameValueSectionHandler handler = new NameValueSectionHandler(); - IDictionary schemes = new Hashtable(); + OrderedHashTable schemes = new OrderedHashTable(); NameValueCollection options = (NameValueCollection) handler.Create(parent, configContext, section); @@ -52,7 +52,7 @@ namespace Qpid.Client.Configuration if ( !typeof(IAMQCallbackHandler).IsAssignableFrom(type) ) throw new ConfigurationException(string.Format("Type '{0}' does not implement IAMQCallbackHandler", key)); - schemes[key] = type; + schemes.Add(key, type); } } @@ -61,4 +61,24 @@ namespace Qpid.Client.Configuration } // class AuthenticationConfigurationSectionHandler + public class OrderedHashTable : Hashtable + { + private ArrayList _keys = new ArrayList(); + + public IList OrderedKeys + { + get { return _keys; } + } + + public override void Add(object key, object value) + { + base.Add(key, value); + _keys.Add(key); + } + public override void Remove(object key) + { + base.Remove(key); + _keys.Remove(key); + } + } } // namespace Qpid.Client.Configuration -- cgit v1.2.1