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; + } + } +}