2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
[mono.git] / mcs / class / Mono.Data / ProviderSectionHandler.cs
index 3f916a96e344ecc077b6968e1de9ac327f5fb48e..ae552daa554c42217c57965f731e95ba75a75bc8 100644 (file)
@@ -37,21 +37,26 @@ namespace Mono.Data
 {
        public class ProviderSectionHandler : IConfigurationSectionHandler
        {
-               public virtual object Create(object parent,object configContext,XmlNode section)
+               public virtual object Create (object parent, object configContext, XmlNode section)
                {
-                       ProviderCollection providers=new ProviderCollection();
+                       if (section == null)
+                               throw new System.ArgumentNullException ("section");
+
+                       ProviderCollection providers = new ProviderCollection ();
                        
                        XmlNodeList ProviderList = section.SelectNodes ("./provider");
 
                        foreach (XmlNode ProviderNode in ProviderList) {
-                               Provider provider=new Provider(
-                                       GetStringValue(ProviderNode,"name",true),
-                                       GetStringValue(ProviderNode,"connection",true),
-                                       GetStringValue(ProviderNode,"adapter",true),
-                                       GetStringValue(ProviderNode,"command",true),
-                                       GetStringValue(ProviderNode,"assembly",true),
-                                       GetStringValue(ProviderNode,"description",false));
-                               providers.Add(provider);
+                               Provider provider = new Provider(
+                                       GetStringValue (ProviderNode, "name", true),
+                                       GetStringValue (ProviderNode, "connection", true),
+                                       GetStringValue (ProviderNode, "adapter", true),
+                                       GetStringValue (ProviderNode, "command", true),
+                                       GetStringValue (ProviderNode, "assembly", true),
+                                       GetStringValue (ProviderNode, "description", false),
+                                       GetStringValue (ProviderNode, "parameterprefix", false),
+                                       GetStringValue (ProviderNode, "commandbuilder", false));
+                               providers.Add (provider);
                        }
                        return providers;
                }