Author: ankit
Date: 2007-02-20 12:08:21 -0500 (Tue, 20 Feb 2007)
New Revision: 73196

Modified:
   trunk/monodevelop/Extras/MonoQuery/ChangeLog
   trunk/monodevelop/Extras/MonoQuery/MonoQuery/Commands/Commands.cs
Log:
* MonoQuery/Commands/Commands.cs (Run): Handle empty connection string.
Destroy the dialog even if an exception is thrown.


Modified: trunk/monodevelop/Extras/MonoQuery/ChangeLog
===================================================================
--- trunk/monodevelop/Extras/MonoQuery/ChangeLog        2007-02-20 17:05:29 UTC 
(rev 73195)
+++ trunk/monodevelop/Extras/MonoQuery/ChangeLog        2007-02-20 17:08:21 UTC 
(rev 73196)
@@ -1,3 +1,8 @@
+2007-02-20  Ankit Jain  <[EMAIL PROTECTED]>
+
+       * MonoQuery/Commands/Commands.cs (Run): Handle empty connection string.
+       Destroy the dialog even if an exception is thrown.
+
 2007-02-16  Lluis Sanchez Gual <[EMAIL PROTECTED]> 
 
        * MonoQuery/MonoQuery.addin.xml: Change add-in versions to 0.13.

Modified: trunk/monodevelop/Extras/MonoQuery/MonoQuery/Commands/Commands.cs
===================================================================
--- trunk/monodevelop/Extras/MonoQuery/MonoQuery/Commands/Commands.cs   
2007-02-20 17:05:29 UTC (rev 73195)
+++ trunk/monodevelop/Extras/MonoQuery/MonoQuery/Commands/Commands.cs   
2007-02-20 17:08:21 UTC (rev 73196)
@@ -30,6 +30,7 @@
 using System.Reflection;
 
 using MonoDevelop.Core.Gui;
+using MonoDevelop.Ide.Gui;
 using MonoDevelop.Ide.Gui.Pads;
 using MonoDevelop.Components.Commands;
 using MonoDevelop.Core;
@@ -58,20 +59,29 @@
                protected override void Run ()
                {
                        ConnectionDialog dialog = new ConnectionDialog ();
-                       int retval = dialog.Run ();
-                       if (retval == (int) Gtk.ResponseType.Ok) {
-                               Assembly asm = Assembly.GetAssembly (typeof 
(Mono.Data.Sql.DbProviderBase));
-                               DbProviderBase provider = (DbProviderBase) 
asm.CreateInstance (dialog.ConnectionType.FullName);
-                               if (provider == null)
-                                       return;
-                               provider.Name = dialog.ConnectionName;
-                               provider.ConnectionString = 
dialog.ConnectionString;
-                               
-                               MonoQueryService service = (MonoQueryService)
-                                       ServiceManager.GetService (typeof 
(MonoQueryService));
-                               service.Providers.Add ( (DbProviderBase) 
provider);
+                       try {
+                               int retval = dialog.Run ();
+                               if (retval == (int) Gtk.ResponseType.Ok) {
+                                       if (String.IsNullOrEmpty 
(dialog.ConnectionString)) {
+                                               
IdeApp.Services.MessageService.ShowError (GettextCatalog.GetString (
+                                                       "Connection string 
cannot be blank."));
+                                               return;
+                                       }
+
+                                       Assembly asm = Assembly.GetAssembly 
(typeof (Mono.Data.Sql.DbProviderBase));
+                                       DbProviderBase provider = 
(DbProviderBase) asm.CreateInstance (dialog.ConnectionType.FullName);
+                                       if (provider == null)
+                                               return;
+                                       provider.Name = dialog.ConnectionName;
+                                       provider.ConnectionString = 
dialog.ConnectionString;
+                                       
+                                       MonoQueryService service = 
(MonoQueryService)
+                                               ServiceManager.GetService 
(typeof (MonoQueryService));
+                                       service.Providers.Add ( 
(DbProviderBase) provider);
+                               }
+                       } finally {
+                               dialog.Destroy ();
                        }
-                       dialog.Destroy ();
                }
        }
 }

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

Reply via email to