Author: suresh
Date: 2005-03-01 00:48:39 -0500 (Tue, 01 Mar 2005)
New Revision: 41307

Added:
   
trunk/mcs/class/System.Data/System.Data.Common/ConnectionStringsSectionHandler.cs
Modified:
   trunk/mcs/class/System.Data/ChangeLog
   trunk/mcs/class/System.Data/System.Data.Common/ChangeLog
   trunk/mcs/class/System.Data/System.Data.dll.sources
   
trunk/mcs/class/System.Data/Test/System.Data.Common/ConnectionStringsSectionTest.cs
   trunk/mcs/class/System.Data/app_test_2.0.config
Log:
In System.Data.Common:
2005-03-01  Sureshkumar T  <[EMAIL PROTECTED]>

        * ConnectionStringsSectionHandler.cs: Added. configuration section
        handler for section "connectionStrings". This handler is a ad hoc
        solution till the new configuration API is available in mono.

In .:
2005-03-01  Sureshkumar T  <[EMAIL PROTECTED]>

        * System.Data.dll.sources: Added System.Data.Common/
        ConnectionStringsSectionHandler.cs.
        * app_test_2.0.config: Changed the configuration handler for
        seciton "connectionStrings".

In Test/System.Data.Common:

        * ConnectionStringsSectionTest.cs : removed console.writeline-s.


Modified: trunk/mcs/class/System.Data/ChangeLog
===================================================================
--- trunk/mcs/class/System.Data/ChangeLog       2005-03-01 05:28:19 UTC (rev 
41306)
+++ trunk/mcs/class/System.Data/ChangeLog       2005-03-01 05:48:39 UTC (rev 
41307)
@@ -1,3 +1,10 @@
+2005-03-01  Sureshkumar T  <[EMAIL PROTECTED]>
+
+       * System.Data.dll.sources: Added System.Data.Common/
+       ConnectionStringsSectionHandler.cs.
+       * app_test_2.0.config: Changed the configuration handler for
+       seciton "connectionStrings".
+
 2005-02-22  Sureshkumar T  <[EMAIL PROTECTED]>
         
        * System.Data_test.dll.sources: Added

Modified: trunk/mcs/class/System.Data/System.Data.Common/ChangeLog
===================================================================
--- trunk/mcs/class/System.Data/System.Data.Common/ChangeLog    2005-03-01 
05:28:19 UTC (rev 41306)
+++ trunk/mcs/class/System.Data/System.Data.Common/ChangeLog    2005-03-01 
05:48:39 UTC (rev 41307)
@@ -1,3 +1,9 @@
+2005-03-01  Sureshkumar T  <[EMAIL PROTECTED]>
+
+       * ConnectionStringsSectionHandler.cs: Added. configuration section
+       handler for section "connectionStrings". This handler is a ad hoc
+       solution till the new configuration API is available in mono.
+
 2005-02-04  Sureshkumar T  <[EMAIL PROTECTED]>
 
        * DbDataAdapter.cs (Update ()) :

Added: 
trunk/mcs/class/System.Data/System.Data.Common/ConnectionStringsSectionHandler.cs
===================================================================
--- 
trunk/mcs/class/System.Data/System.Data.Common/ConnectionStringsSectionHandler.cs
   2005-03-01 05:28:19 UTC (rev 41306)
+++ 
trunk/mcs/class/System.Data/System.Data.Common/ConnectionStringsSectionHandler.cs
   2005-03-01 05:48:39 UTC (rev 41307)
@@ -0,0 +1,97 @@
+//
+// System.Data.Common.ConnectionStringsSectionHandler.cs
+//
+// Author:
+//   Sureshkumar T ([EMAIL PROTECTED])
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+using System.IO;
+using System.Xml;
+using System.Xml.Serialization;
+using System.Globalization;
+using System.Configuration;
+
+namespace System.Data.Common {
+
+        /// <summary>
+        /// This is a handler class for the configuration section 
<b>connectionStrings</b>.
+        /// This handler is a temporary solution till the new 2.0 
configuration API is supported
+        /// in mono.
+        /// </summary>
+       public class ConnectionStringsSectionHandler : 
IConfigurationSectionHandler
+       {
+               #region Constructors
+
+               public ConnectionStringsSectionHandler ()
+               {
+               }
+
+               #endregion // Constructors
+
+               #region Methods
+
+               public virtual object Create (object parent, object 
configContext, XmlNode section)
+               {
+                        ConnectionStringsSection csSection  = new 
ConnectionStringsSection ();
+                        ConnectionStringSettingsCollection csList = 
csSection.ConnectionStrings;
+                        foreach (XmlNode addNode in section.SelectNodes 
(".//add")) {
+                                if (addNode.NodeType != XmlNodeType.Element)
+                                        continue;
+                                string name;
+                                string providerName;
+                                string connectionString;
+                                
+                                name = GetAttributeValue (addNode, "name");
+                                providerName = GetAttributeValue (addNode, 
"providerName");
+                                connectionString = GetAttributeValue (addNode, 
"connectionString");
+                                
+                                ConnectionStringSettings cs = new 
ConnectionStringSettings (name, connectionString, providerName);
+                                csList.Add (cs);
+                        }
+
+                        return csSection;
+                        
+               }
+
+                internal string GetAttributeValue (XmlNode node, string name)
+                {
+                        XmlAttribute attr = node.Attributes[name];
+                        if (attr == null)
+                                throw new ConfigurationException ("Required 
Attribute '" + name +
+                                                                  "' is  
missing!", node);
+                        string value = attr.Value;
+                        if (value == "")
+                                throw new ConfigurationException ("Attribute 
'" + name + "' cannot be empty!",
+                                                                  node);
+                        return value;
+                }
+
+
+               #endregion // Methods
+       }
+}
+
+#endif // NET_2_0


Property changes on: 
trunk/mcs/class/System.Data/System.Data.Common/ConnectionStringsSectionHandler.cs
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: trunk/mcs/class/System.Data/System.Data.dll.sources
===================================================================
--- trunk/mcs/class/System.Data/System.Data.dll.sources 2005-03-01 05:28:19 UTC 
(rev 41306)
+++ trunk/mcs/class/System.Data/System.Data.dll.sources 2005-03-01 05:48:39 UTC 
(rev 41307)
@@ -159,6 +159,7 @@
 System.Data.Common/DbParameter.cs
 System.Data.Common/DbProviderConfigurationHandler.cs
 System.Data.Common/DbProviderFactoriesConfigurationHandler.cs
+System.Data.Common/ConnectionStringsSectionHandler.cs
 System.Data.Common/DbProviderFactories.cs
 System.Data.Common/DbProviderFactory.cs
 System.Data.Common/DbProviderSupportedClasses.cs

Modified: 
trunk/mcs/class/System.Data/Test/System.Data.Common/ConnectionStringsSectionTest.cs
===================================================================
--- 
trunk/mcs/class/System.Data/Test/System.Data.Common/ConnectionStringsSectionTest.cs
 2005-03-01 05:28:19 UTC (rev 41306)
+++ 
trunk/mcs/class/System.Data/Test/System.Data.Common/ConnectionStringsSectionTest.cs
 2005-03-01 05:48:39 UTC (rev 41307)
@@ -48,13 +48,9 @@
         {
     
             object o = ConfigurationSettings.GetConfig 
("connectionStrings_test");
-            Console.WriteLine ("done");
             Assert.IsNotNull (o, "getconfig returns null");
 
             ConnectionStringsSection css = (ConnectionStringsSection) o;
-            foreach (ConnectionStringSettings m in css.ConnectionStrings) {
-                Console.WriteLine (m.Name);
-            }
             ConnectionStringSettings cs= css.ConnectionStrings 
["Publications"];
             Assert.IsNotNull (cs, "connectionstringsettings is null");
             

Modified: trunk/mcs/class/System.Data/app_test_2.0.config
===================================================================
--- trunk/mcs/class/System.Data/app_test_2.0.config     2005-03-01 05:28:19 UTC 
(rev 41306)
+++ trunk/mcs/class/System.Data/app_test_2.0.config     2005-03-01 05:48:39 UTC 
(rev 41307)
@@ -5,7 +5,7 @@
              type="System.Data.Common.DbProviderFactoriesConfigurationHandler, 
System.Data, Version=2.0, Culture=neutral"/>
            
         <section name="connectionStrings_test"
-            type="System.Configuration.ConnectionStringsSection, System, 
Version=2.0, Culture=neutral"/>
+            type="System.Data.Common.ConnectionStringsSectionHandler, 
System.Data, Version=2.0, Culture=neutral"/>
             
     </configSections>
      <system.data_test>
@@ -20,7 +20,5 @@
     <connectionStrings_test>
         <add name="Publications" providerName="System.Data.SqlClient" 
          connectionString="Data Source=MyServer;Initial 
Catalog=pubs;integrated security=SSPI" />
-        <add name="Publications" providerName="System.Data.SqlClient1" 
-         connectionString="Data Source=MyServer;Initial 
Catalog=pubs;integrated security=SSPI" />
     </connectionStrings_test>
 </configuration>

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to