Browse Source

added DbToolsProvider for SQLite

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2456 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Dickon Field 19 years ago
parent
commit
94f1606a3e
  1. 1
      src/AddIns/Misc/SharpServerTools/OracleDbToolsProvider/Src/Forms/OracleFormsArtefactFactory.cs
  2. 1
      src/AddIns/Misc/SharpServerTools/SQLServerDbToolsProvider/Src/Forms/SQLServerFormsArtefactFactory.cs
  3. 31
      src/AddIns/Misc/SharpServerTools/SQLiteDbToolsProvider/Configuration/AssemblyInfo.cs
  4. 66
      src/AddIns/Misc/SharpServerTools/SQLiteDbToolsProvider/SQLiteDbToolsProvider.csproj
  5. 98
      src/AddIns/Misc/SharpServerTools/SQLiteDbToolsProvider/Src/Forms/SQLiteArtefactFactory.cs
  6. 7
      src/AddIns/Misc/SharpServerTools/ServerBrowserTool/SharpServerTools.addin
  7. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/ICSharpCode.SharpDevelop.Dom.csproj
  8. 9
      src/SharpDevelop.sln

1
src/AddIns/Misc/SharpServerTools/OracleDbToolsProvider/Src/Forms/OracleFormsArtefactFactory.cs

@ -52,6 +52,7 @@ namespace SharpDbTools.Oracle.Forms @@ -52,6 +52,7 @@ namespace SharpDbTools.Oracle.Forms
string metadataCollectionName = TableNames.PrimaryObjects[i];
LoggingService.Debug("looking for metadata: " + metadataCollectionName);
DataTable metaCollectionTable = info.Tables[metadataCollectionName];
if (metaCollectionTable == null) continue;
LoggingService.Debug("found metadata collection: " + metadataCollectionName);
string nodeDisplayNameKey = "SharpDbTools.Data.PrimaryObjects." + metadataCollectionName;
string nodeDisplayName = ResourceService.GetString(nodeDisplayNameKey);

1
src/AddIns/Misc/SharpServerTools/SQLServerDbToolsProvider/Src/Forms/SQLServerFormsArtefactFactory.cs

@ -56,6 +56,7 @@ namespace SharpDbTools.SQLServer.Forms @@ -56,6 +56,7 @@ namespace SharpDbTools.SQLServer.Forms
string metadataCollectionName = TableNames.PrimaryObjects[i];
LoggingService.Debug("looking for metadata: " + metadataCollectionName);
DataTable metaCollectionTable = info.Tables[metadataCollectionName];
if (metaCollectionTable == null) continue;
LoggingService.Debug("found metadata collection: " + metadataCollectionName);
string nodeDisplayNameKey = "SharpDbTools.Data.PrimaryObjects." + metadataCollectionName;
string nodeDisplayName = ResourceService.GetString(nodeDisplayNameKey);

31
src/AddIns/Misc/SharpServerTools/SQLiteDbToolsProvider/Configuration/AssemblyInfo.cs

@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Information about this assembly is defined by the following
// attributes.
//
// change them to the information which is associated with the assembly
// you compile.
[assembly: AssemblyTitle("SQLiteDbToolsProvider")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SQLiteDbToolsProvider")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// This sets the default COM visibility of types in the assembly to invisible.
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
[assembly: ComVisible(false)]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):
[assembly: AssemblyVersion("1.0.*")]

66
src/AddIns/Misc/SharpServerTools/SQLiteDbToolsProvider/SQLiteDbToolsProvider.csproj

@ -0,0 +1,66 @@ @@ -0,0 +1,66 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{5C1F6FB6-AB08-430D-8956-E2BE137470CD}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>Library</OutputType>
<RootNamespace>SQLiteDbToolsProvider</RootNamespace>
<AssemblyName>SQLiteDbToolsProvider</AssemblyName>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>..\..\..\..\..\AddIns\AddIns\Misc\SharpServerTools\</OutputPath>
<DebugSymbols>true</DebugSymbols>
<DebugType>Full</DebugType>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<Optimize>False</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Configuration\AssemblyInfo.cs" />
<Compile Include="Src\Forms\SQLiteArtefactFactory.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Configuration" />
<Folder Include="Src" />
<Folder Include="Resources" />
<Folder Include="Src\Forms" />
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\Core\Project\ICSharpCode.Core.csproj">
<Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project>
<Name>ICSharpCode.Core</Name>
</ProjectReference>
<ProjectReference Include="..\SharpDbTools\SharpDbTools.csproj">
<Project>{93B2D6DF-7588-40C0-8A35-CA0DD7328FC3}</Project>
<Name>SharpDbTools</Name>
</ProjectReference>
</ItemGroup>
</Project>

98
src/AddIns/Misc/SharpServerTools/SQLiteDbToolsProvider/Src/Forms/SQLiteArtefactFactory.cs

@ -0,0 +1,98 @@ @@ -0,0 +1,98 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Dickon Field" email=""/>
// <version>$Revision$</version>
// </file>
using System;
using System.Data;
using System.Windows.Forms;
using ICSharpCode.Core;
using SharpDbTools.Data;
using SharpDbTools.Forms;
namespace SharpDbTools.SQLite.Forms
{
/// <summary>
/// Description of MetaDataNodeBuilder.
/// TODO: currently this is just a flat list - need to reflect ownership
/// relationships such as schema etc
/// </summary>
public class SQLiteFormsArtefactFactory : FormsArtefactFactory
{
public SQLiteFormsArtefactFactory()
{
}
public override TreeNode CreateMetaDataNode(string logicalConnectionName)
{
LoggingService.Debug(this.GetType().ToString()
+ ": creating MetaDataNode for: " + logicalConnectionName);
// create root node of the metadata collections tree
string nodeName = ResourceService.GetString("SharpDbTools.Forms.DbObjectNodeName");
TreeNode metaNode = new TreeNode(nodeName);
// retrieve the metadata for this logical connection name
DbModelInfo info = DbModelInfoService.GetDbModelInfo(logicalConnectionName);
// retrieve the table listing the metadata collections
DataTable metadataCollectionsTable = info.Tables[TableNames.MetaDataCollections];
// if it exists then populate the tree
if (metadataCollectionsTable != null) {
LoggingService.Debug(this.GetType().ToString() + ": found metadata collections table, " +
" building node...");
for (int i = 0; i < TableNames.PrimaryObjects.Length; i++) {
string metadataCollectionName = TableNames.PrimaryObjects[i];
LoggingService.Debug("looking for metadata: " + metadataCollectionName);
DataTable metaCollectionTable = info.Tables[metadataCollectionName];
if (metaCollectionTable == null) continue;
LoggingService.Debug("found metadata collection: " + metadataCollectionName);
string nodeDisplayNameKey = "SharpDbTools.Data.PrimaryObjects." + metadataCollectionName;
string nodeDisplayName = ResourceService.GetString(nodeDisplayNameKey);
TreeNode collectionNode = new TreeNode(nodeDisplayName);
collectionNode.Name = logicalConnectionName + ":Collection:" + metadataCollectionName;
metaNode.Nodes.Add(collectionNode);
foreach (DataRow dbObjectRow in metaCollectionTable.Rows) {
TreeNode objectNode = null;
switch(metadataCollectionName) {
case "Tables":
//LoggingService.Debug("found table row");
objectNode = new TableTreeNode((string)dbObjectRow[2], logicalConnectionName);
break;
default:
objectNode = new TreeNode((string)dbObjectRow[2]);
break;
}
collectionNode.Nodes.Add(objectNode);
}
}
}
return metaNode;
}
public override string[] GetDescribeTableFieldNames()
{
return tableFieldsToDisplay;
}
public override string[] GetDescribeTableColumnHeaderNames()
{
return tableFieldsColumnHeaders;
}
private static string[] tableFieldsToDisplay =
new string [] {"COLUMN_NAME", "DATATYPE",
"LENGTH", "PRECISION", "SCALE", "NULLABLE"};
private static string[] tableFieldsColumnHeaders =
new string[] { "Column", "Type", "Length", "Precision", "Scale", "Nullable" };
}
}

7
src/AddIns/Misc/SharpServerTools/ServerBrowserTool/SharpServerTools.addin

@ -12,6 +12,7 @@ @@ -12,6 +12,7 @@
<Import assembly = "ServerBrowserTool.dll"/>
<Import assembly="OracleDbToolsProvider.dll"/>
<Import assembly="SqlServerDbToolsProvider.dll"/>
<Import assembly="SQLiteDbToolsProvider.dll"/>
</Runtime>
<Path name = "/SharpDevelop/Workbench/Pads">
@ -23,6 +24,12 @@ @@ -23,6 +24,12 @@
class = "SharpServerTools.Forms.ServerBrowserTool"/>
</Path>
<Path name = "/SharpServerTools/SharpDbTools/FormsArtefactFactory">
<Class id = "System.Data.SQLite"
class = "SharpDbTools.SQLite.Forms.SQLiteFormsArtefactFactory"/>
</Path>
<Path name = "/SharpServerTools/SharpDbTools/FormsArtefactFactory">
<Class id = "System.Data.OracleClient"
class = "SharpDbTools.Oracle.Forms.OracleFormsArtefactFactory"/>

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/ICSharpCode.SharpDevelop.Dom.csproj

@ -175,4 +175,4 @@ @@ -175,4 +175,4 @@
<Folder Include="Src\VBNet" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>
</Project>

9
src/SharpDevelop.sln

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
# SharpDevelop 2.1.0.2314
# SharpDevelop 3.0.0.2429
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
@ -68,6 +68,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SharpServerTools", "SharpSe @@ -68,6 +68,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SharpServerTools", "SharpSe
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteDbToolsProvider", "AddIns\Misc\SharpServerTools\SQLiteDbToolsProvider\SQLiteDbToolsProvider.csproj", "{5C1F6FB6-AB08-430D-8956-E2BE137470CD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLServerDbToolsProvider", "AddIns\Misc\SharpServerTools\SQLServerDbToolsProvider\SQLServerDbToolsProvider.csproj", "{8C692BAF-108E-4346-B41E-6EE7D20E2E9D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OracleDbToolsProvider", "AddIns\Misc\SharpServerTools\OracleDbToolsProvider\OracleDbToolsProvider.csproj", "{DFA70EAA-3285-4BC0-BCA7-EBEC4D67FC9B}"
@ -450,6 +452,10 @@ Global @@ -450,6 +452,10 @@ Global
{533F4684-DBA6-4518-B005-C84F22A2DD57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{533F4684-DBA6-4518-B005-C84F22A2DD57}.Release|Any CPU.Build.0 = Release|Any CPU
{533F4684-DBA6-4518-B005-C84F22A2DD57}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5C1F6FB6-AB08-430D-8956-E2BE137470CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5C1F6FB6-AB08-430D-8956-E2BE137470CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5C1F6FB6-AB08-430D-8956-E2BE137470CD}.Release|Any CPU.Build.0 = Release|Any CPU
{5C1F6FB6-AB08-430D-8956-E2BE137470CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
@ -498,6 +504,7 @@ Global @@ -498,6 +504,7 @@ Global
{93B2D6DF-7588-40C0-8A35-CA0DD7328FC3} = {6CEEC0D9-FA00-4EE3-9A1C-39B7ACC882FD}
{DFA70EAA-3285-4BC0-BCA7-EBEC4D67FC9B} = {6CEEC0D9-FA00-4EE3-9A1C-39B7ACC882FD}
{8C692BAF-108E-4346-B41E-6EE7D20E2E9D} = {6CEEC0D9-FA00-4EE3-9A1C-39B7ACC882FD}
{5C1F6FB6-AB08-430D-8956-E2BE137470CD} = {6CEEC0D9-FA00-4EE3-9A1C-39B7ACC882FD}
{000E4F64-5D0D-4EB1-B0BF-1A62ADBC6EAD} = {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C}
{869951D5-A0D6-4DC6-9F1D-E6B9A12AC446} = {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C}
{E6F4983F-DE41-4AEC-88E7-1FA9AFB4E6FF} = {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C}

Loading…
Cancel
Save