Browse Source

work in progress - added more detail around connection, metadata and object view management

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1619 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Dickon Field 19 years ago
parent
commit
ec61089521
  1. 17
      src/AddIns/Misc/SharpDbTools/Project/SharpDbTools.csproj
  2. 0
      src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.Designer.cs
  3. 0
      src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.cs
  4. 0
      src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.resx
  5. 0
      src/AddIns/Misc/SharpDbTools/Project/Src/Connection/DbProvidersService.cs
  6. 44
      src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfo.cs
  7. 43
      src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfoStorage.cs
  8. 10
      src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfo.cs
  9. 12
      src/AddIns/Misc/SharpDbTools/Project/Src/Model/IConnectionInfo.cs
  10. 7
      src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserTool.cs
  11. 21
      src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserToolController.cs
  12. 20
      src/AddIns/Misc/SharpDbTools/Project/Src/Viewer/IViewer.cs
  13. 35
      src/AddIns/Misc/SharpDbTools/Project/Src/Viewer/ViewerFactory.cs

17
src/AddIns/Misc/SharpDbTools/Project/SharpDbTools.csproj

@ -50,15 +50,19 @@
<EmbeddedResource Include="Resources\MyUserControl.xfrm" /> <EmbeddedResource Include="Resources\MyUserControl.xfrm" />
<Compile Include="Src\ServerBrowserTool.cs" /> <Compile Include="Src\ServerBrowserTool.cs" />
<Compile Include="Configuration\AssemblyInfo.cs" /> <Compile Include="Configuration\AssemblyInfo.cs" />
<Compile Include="Src\DbProvidersService.cs" />
<Compile Include="Src\ConnectionStringDefinitionDialog.cs" />
<Compile Include="Src\ConnectionStringDefinitionDialog.Designer.cs" />
<EmbeddedResource Include="Src\ConnectionStringDefinitionDialog.resx">
<DependentUpon>ConnectionStringDefinitionDialog.cs</DependentUpon>
</EmbeddedResource>
<Compile Include="Src\Model\DbConnectionInfo.cs" /> <Compile Include="Src\Model\DbConnectionInfo.cs" />
<Compile Include="Src\Model\DbModelInfo.cs" /> <Compile Include="Src\Model\DbModelInfo.cs" />
<Compile Include="Src\Connection\ConnectionStringDefinitionDialog.cs" />
<EmbeddedResource Include="Src\Connection\ConnectionStringDefinitionDialog.resx">
<DependentUpon>ConnectionStringDefinitionDialog.cs</DependentUpon>
</EmbeddedResource>
<Compile Include="Src\Connection\ConnectionStringDefinitionDialog.Designer.cs" />
<Compile Include="Src\Connection\DbProvidersService.cs" />
<Compile Include="Src\ServerBrowserToolController.cs" />
<Compile Include="Src\Model\DbConnectionInfoStorage.cs" />
<Compile Include="Src\Model\IConnectionInfo.cs" /> <Compile Include="Src\Model\IConnectionInfo.cs" />
<Compile Include="Src\Viewer\ViewerFactory.cs" />
<Compile Include="Src\Viewer\IViewer.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Src\Model" /> <Folder Include="Src\Model" />
@ -71,6 +75,7 @@
<Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project> <Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project>
<Name>ICSharpCode.Core</Name> <Name>ICSharpCode.Core</Name>
</ProjectReference> </ProjectReference>
<Folder Include="Src\Viewer" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project> </Project>

0
src/AddIns/Misc/SharpDbTools/Project/Src/ConnectionStringDefinitionDialog.Designer.cs → src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.Designer.cs generated

0
src/AddIns/Misc/SharpDbTools/Project/Src/ConnectionStringDefinitionDialog.cs → src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.cs

0
src/AddIns/Misc/SharpDbTools/Project/Src/ConnectionStringDefinitionDialog.resx → src/AddIns/Misc/SharpDbTools/Project/Src/Connection/ConnectionStringDefinitionDialog.resx

0
src/AddIns/Misc/SharpDbTools/Project/Src/DbProvidersService.cs → src/AddIns/Misc/SharpDbTools/Project/Src/Connection/DbProvidersService.cs

44
src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbConnectionInfo.cs

@ -14,7 +14,13 @@ using ICSharpCode.Core;
namespace SharpDbTools.Model namespace SharpDbTools.Model
{ {
/// <summary> /// <summary>
/// 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.
///
/// </summary> /// </summary>
public class DbConnectionInfo: IConnectionInfo, IDisposable public class DbConnectionInfo: IConnectionInfo, IDisposable
{ {
@ -36,24 +42,37 @@ namespace SharpDbTools.Model
this.invariantName = invariantName; this.invariantName = invariantName;
} }
public bool HasConnection public string Name {
{ get {
get return name;
{ }
}
public string InvariantName {
get {
return invariantName;
}
}
public string ConnectionString {
get {
return connectionString;
}
}
public bool HasConnection {
get {
return !(connection == null); return !(connection == null);
} }
} }
public bool HasModel public bool HasModel {
{ get {
get
{
return !(dbModel == null); return !(dbModel == null);
} }
} }
public DbConnection Connection public DbConnection Connection {
{
get { get {
// return connection if defined else try and create it // return connection if defined else try and create it
if (connection != null) { if (connection != null) {
@ -69,8 +88,7 @@ namespace SharpDbTools.Model
} }
} }
public DataSet DbModel public DataSet DbModel {
{
get get
{ {
if (dbModel == null) if (dbModel == null)

43
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
{
/// <summary>
/// Description of ConnectionInfoStorage.
/// </summary>
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<DbConnectionInfo> GetConnectionInfoCollection()
{
// TODO: return
return null;
}
}
}

10
src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfo.cs

@ -7,6 +7,7 @@
using System; using System;
using System.Data; using System.Data;
using System.Data.Common;
using System.Collections.Generic; using System.Collections.Generic;
namespace SharpDbTools.Model namespace SharpDbTools.Model
@ -28,5 +29,14 @@ namespace SharpDbTools.Model
public DbModelInfo() public DbModelInfo()
{ {
} }
public DataTable MetaDataCollections {
get {
return this.Tables[METADATACOLLECTIONS];
}
}
// TODO: an indexed property of MetaDataCollection
//public
} }
} }

12
src/AddIns/Misc/SharpDbTools/Project/Src/Model/IConnectionInfo.cs

@ -1,7 +1,7 @@
/* /*
* User: Dickon Field * User: dickon
* Date: 10/07/2006 * Date: 25/07/2006
* Time: 09:23 * Time: 22:11
* *
*/ */
@ -10,7 +10,10 @@ using System;
namespace SharpDbTools.Model namespace SharpDbTools.Model
{ {
/// <summary> /// <summary>
/// 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?
/// </summary> /// </summary>
public interface IConnectionInfo public interface IConnectionInfo
{ {
@ -18,7 +21,6 @@ namespace SharpDbTools.Model
{ {
get; get;
} }
bool HasModel bool HasModel
{ {
get; get;

7
src/AddIns/Misc/SharpDbTools/Project/Src/ServerBrowserTool.cs

@ -18,13 +18,20 @@ namespace SharpDbTools
public class ServerBrowserTool : AbstractPadContent public class ServerBrowserTool : AbstractPadContent
{ {
Panel ctl; Panel ctl;
ServerBrowserToolController controller;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public ServerBrowserTool() public ServerBrowserTool()
{ {
controller = new ServerBrowserToolController();
TreeView dbTree = new TreeView();
ctl = new Panel(); ctl = new Panel();
ctl.Controls.Add(dbTree);
TreeNode node = new TreeNode("test");
dbTree.Nodes.Add(node);
} }
/// <summary> /// <summary>

21
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
{
/// <summary>
/// Description of Class1.
/// </summary>
public class ServerBrowserToolController
{
public ServerBrowserToolController()
{
}
}
}

20
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
{
/// <summary>
/// Defines the contract supported by a db metadata collection
/// viewer
/// </summary>
public interface IViewer
{
}
}

35
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
{
/// <summary>
/// Description of ViewerFactory.
/// </summary>
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;
}
}
}
Loading…
Cancel
Save