diff --git a/src/AddIns/Misc/SharpDbTools/Project/SharpDbTools.csproj b/src/AddIns/Misc/SharpDbTools/Project/SharpDbTools.csproj
index b960b52789..2acb81e60b 100644
--- a/src/AddIns/Misc/SharpDbTools/Project/SharpDbTools.csproj
+++ b/src/AddIns/Misc/SharpDbTools/Project/SharpDbTools.csproj
@@ -50,15 +50,19 @@
-
-
-
-
- ConnectionStringDefinitionDialog.cs
-
+
+
+ ConnectionStringDefinitionDialog.cs
+
+
+
+
+
+
+
@@ -71,6 +75,7 @@
{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}
ICSharpCode.Core
+
\ No newline at end of file
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/ConnectionStringDefinitionDialog.Designer.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.Designer.cs
similarity index 100%
rename from src/AddIns/Misc/SharpDbTools/Project/Src/ConnectionStringDefinitionDialog.Designer.cs
rename to src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.Designer.cs
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/ConnectionStringDefinitionDialog.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.cs
similarity index 100%
rename from src/AddIns/Misc/SharpDbTools/Project/Src/ConnectionStringDefinitionDialog.cs
rename to src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.cs
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/ConnectionStringDefinitionDialog.resx b/src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.resx
similarity index 100%
rename from src/AddIns/Misc/SharpDbTools/Project/Src/ConnectionStringDefinitionDialog.resx
rename to src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.resx
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/DbProvidersService.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/Connection/DbProvidersService.cs
similarity index 100%
rename from src/AddIns/Misc/SharpDbTools/Project/Src/DbProvidersService.cs
rename to src/AddIns/Misc/SharpDbTools/Project/Src/Connection/DbProvidersService.cs
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfo.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfo.cs
index 4d49482308..bd50c5522e 100644
--- a/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfo.cs
+++ b/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfo.cs
@@ -14,7 +14,13 @@ using ICSharpCode.Core;
namespace SharpDbTools.Model
{
///
- /// Description of ConnectionInfo.
+ /// DbConnectionInfo object is in essence a client side cache of database
+ /// connection information that can be used disconnected from the database
+ /// for query editing and validation, database browsing etc.
+ ///
+ /// It is persisted as an XML element into local storage, and can subsequently
+ /// be either used independently or refreshed from the database server.
+ ///
///
public class DbConnectionInfo: IConnectionInfo, IDisposable
{
@@ -36,24 +42,37 @@ namespace SharpDbTools.Model
this.invariantName = invariantName;
}
- public bool HasConnection
- {
- get
- {
+ public string Name {
+ get {
+ return name;
+ }
+ }
+
+ public string InvariantName {
+ get {
+ return invariantName;
+ }
+ }
+
+ public string ConnectionString {
+ get {
+ return connectionString;
+ }
+ }
+
+ public bool HasConnection {
+ get {
return !(connection == null);
}
}
- public bool HasModel
- {
- get
- {
+ public bool HasModel {
+ get {
return !(dbModel == null);
}
}
- public DbConnection Connection
- {
+ public DbConnection Connection {
get {
// return connection if defined else try and create it
if (connection != null) {
@@ -69,8 +88,7 @@ namespace SharpDbTools.Model
}
}
- public DataSet DbModel
- {
+ public DataSet DbModel {
get
{
if (dbModel == null)
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfoStorage.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfoStorage.cs
new file mode 100644
index 0000000000..010f632e5c
--- /dev/null
+++ b/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfoStorage.cs
@@ -0,0 +1,43 @@
+/*
+ * User: Dickon Field
+ * Date: 20/07/2006
+ * Time: 19:07
+ *
+ */
+
+using System;
+using System.Collections.Generic;
+
+namespace SharpDbTools.Model
+{
+ ///
+ /// Description of ConnectionInfoStorage.
+ ///
+ public class DbConnectionInfoStorage
+ {
+ const string CONNECTION_INFO_STORAGE_FILE_NAME = "ConnectionInfo.xml";
+
+ static DbConnectionInfoStorage instance = new DbConnectionInfoStorage();
+
+ private DbConnectionInfoStorage()
+ {
+ // TODO: retrieve ConnectionInfo objects from an xml file
+ }
+
+ public static DbConnectionInfoStorage GetInstance()
+ {
+ return instance;
+ }
+
+ public void AddConnectionInfo(DbConnectionInfo connectionInfo)
+ {
+ // TODO: store ConnectionInfo in an xml file
+ }
+
+ public List GetConnectionInfoCollection()
+ {
+ // TODO: return
+ return null;
+ }
+ }
+}
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfo.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfo.cs
index d4a4fe4be3..f724553016 100644
--- a/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfo.cs
+++ b/src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfo.cs
@@ -7,6 +7,7 @@
using System;
using System.Data;
+using System.Data.Common;
using System.Collections.Generic;
namespace SharpDbTools.Model
@@ -28,5 +29,14 @@ namespace SharpDbTools.Model
public DbModelInfo()
{
}
+
+ public DataTable MetaDataCollections {
+ get {
+ return this.Tables[METADATACOLLECTIONS];
+ }
+ }
+
+ // TODO: an indexed property of MetaDataCollection
+ //public
}
}
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/Model/IConnectionInfo.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/Model/IConnectionInfo.cs
index 95509eb20f..8ace561889 100644
--- a/src/AddIns/Misc/SharpDbTools/Project/Src/Model/IConnectionInfo.cs
+++ b/src/AddIns/Misc/SharpDbTools/Project/Src/Model/IConnectionInfo.cs
@@ -1,7 +1,7 @@
/*
- * User: Dickon Field
- * Date: 10/07/2006
- * Time: 09:23
+ * User: dickon
+ * Date: 25/07/2006
+ * Time: 22:11
*
*/
@@ -10,7 +10,10 @@ using System;
namespace SharpDbTools.Model
{
///
- /// Presents the basic contract for ConnectionInfo classes
+ /// Defines the basic contract for an IConnectionInfo object. The basic idea
+ /// is to flag the current state of the underlying connection - has a connection
+ /// been made based on the information in the IConnectionInfo object? Has the
+ /// underlying model been built from the connection?
///
public interface IConnectionInfo
{
@@ -18,7 +21,6 @@ namespace SharpDbTools.Model
{
get;
}
-
bool HasModel
{
get;
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserTool.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserTool.cs
index 7bd2af9503..b0da8d356d 100644
--- a/src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserTool.cs
+++ b/src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserTool.cs
@@ -18,13 +18,20 @@ namespace SharpDbTools
public class ServerBrowserTool : AbstractPadContent
{
Panel ctl;
+ ServerBrowserToolController controller;
///
///
///
public ServerBrowserTool()
{
+ controller = new ServerBrowserToolController();
+ TreeView dbTree = new TreeView();
ctl = new Panel();
+ ctl.Controls.Add(dbTree);
+ TreeNode node = new TreeNode("test");
+ dbTree.Nodes.Add(node);
+
}
///
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserToolController.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserToolController.cs
new file mode 100644
index 0000000000..f2e8df9a41
--- /dev/null
+++ b/src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserToolController.cs
@@ -0,0 +1,21 @@
+/*
+ * User: Dickon Field
+ * Date: 19/07/2006
+ * Time: 23:19
+ *
+ */
+
+using System;
+
+namespace SharpDbTools
+{
+ ///
+ /// Description of Class1.
+ ///
+ public class ServerBrowserToolController
+ {
+ public ServerBrowserToolController()
+ {
+ }
+ }
+}
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/Viewer/IViewer.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/Viewer/IViewer.cs
new file mode 100644
index 0000000000..91937738fe
--- /dev/null
+++ b/src/AddIns/Misc/SharpDbTools/Project/Src/Viewer/IViewer.cs
@@ -0,0 +1,20 @@
+/*
+ * User: dickon
+ * Date: 26/07/2006
+ * Time: 01:14
+ *
+ */
+
+using System;
+
+namespace SharpDbTools.Viewer
+{
+ ///
+ /// Defines the contract supported by a db metadata collection
+ /// viewer
+ ///
+ public interface IViewer
+ {
+
+ }
+}
diff --git a/src/AddIns/Misc/SharpDbTools/Project/Src/Viewer/ViewerFactory.cs b/src/AddIns/Misc/SharpDbTools/Project/Src/Viewer/ViewerFactory.cs
new file mode 100644
index 0000000000..a0831a28a6
--- /dev/null
+++ b/src/AddIns/Misc/SharpDbTools/Project/Src/Viewer/ViewerFactory.cs
@@ -0,0 +1,35 @@
+/*
+ * User: dickon
+ * Date: 26/07/2006
+ * Time: 01:07
+ *
+ */
+
+using System;
+using SharpDbTools.Model;
+
+namespace SharpDbTools.Viewer
+{
+ ///
+ /// Description of ViewerFactory.
+ ///
+ public class ViewerFactory
+ {
+ static ViewerFactory instance = new ViewerFactory();
+
+ ViewerFactory()
+ {
+ }
+
+ public static ViewerFactory GetInstance()
+ {
+ return instance;
+ }
+
+ public static IViewer GetViewer(string metaDataCollectionName,
+ DbConnectionInfo connectionInfo)
+ {
+ return null;
+ }
+ }
+}