Fixed help files.
This commit is contained in:
commit
b8f912cc79
1543 changed files with 395123 additions and 0 deletions
125
SqlProvidersCommon/SqlStorageProviderBase.cs
Normal file
125
SqlProvidersCommon/SqlStorageProviderBase.cs
Normal file
|
@ -0,0 +1,125 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Data.Common;
|
||||
using ScrewTurn.Wiki.PluginFramework;
|
||||
|
||||
namespace ScrewTurn.Wiki.Plugins.SqlCommon {
|
||||
|
||||
/// <summary>
|
||||
/// Implements a base class for a SQL storage provider.
|
||||
/// </summary>
|
||||
public abstract class SqlStorageProviderBase : SqlClassBase {
|
||||
|
||||
/// <summary>
|
||||
/// The connection string.
|
||||
/// </summary>
|
||||
protected string connString;
|
||||
|
||||
/// <summary>
|
||||
/// The host.
|
||||
/// </summary>
|
||||
protected IHostV30 host;
|
||||
|
||||
/// <summary>
|
||||
/// Gets a new command builder object.
|
||||
/// </summary>
|
||||
/// <returns>The command builder.</returns>
|
||||
protected abstract ICommandBuilder GetCommandBuilder();
|
||||
|
||||
/// <summary>
|
||||
/// Logs an exception.
|
||||
/// </summary>
|
||||
/// <param name="ex">The exception.</param>
|
||||
protected override void LogException(Exception ex) {
|
||||
try {
|
||||
host.LogEntry(ex.ToString(), LogEntryType.Error, null, this);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
#region IProvider Members
|
||||
|
||||
/// <summary>
|
||||
/// Validates a connection string.
|
||||
/// </summary>
|
||||
/// <param name="connString">The connection string to validate.</param>
|
||||
/// <remarks>If the connection string is invalid, the method throws <see cref="T:InvalidConfigurationException" />.</remarks>
|
||||
protected abstract void ValidateConnectionString(string connString);
|
||||
|
||||
/// <summary>
|
||||
/// Creates or updates the database schema if necessary.
|
||||
/// </summary>
|
||||
protected abstract void CreateOrUpdateDatabaseIfNecessary();
|
||||
|
||||
/// <summary>
|
||||
/// Tries to load the configuration from a corresponding v2 provider.
|
||||
/// </summary>
|
||||
/// <returns>The configuration, or an empty string.</returns>
|
||||
protected abstract string TryLoadV2Configuration();
|
||||
|
||||
/// <summary>
|
||||
/// Tries to load the configuration of the corresponding settings storage provider.
|
||||
/// </summary>
|
||||
/// <returns>The configuration, or an empty string.</returns>
|
||||
protected abstract string TryLoadSettingsStorageProviderConfiguration();
|
||||
|
||||
/// <summary>
|
||||
/// Initializes the Storage Provider.
|
||||
/// </summary>
|
||||
/// <param name="host">The Host of the Component.</param>
|
||||
/// <param name="config">The Configuration data, if any.</param>
|
||||
/// <exception cref="ArgumentNullException">If <b>host</b> or <b>config</b> are <c>null</c>.</exception>
|
||||
/// <exception cref="InvalidConfigurationException">If <b>config</b> is not valid or is incorrect.</exception>
|
||||
public void Init(IHostV30 host, string config) {
|
||||
if(host == null) throw new ArgumentNullException("host");
|
||||
if(config == null) throw new ArgumentNullException("config");
|
||||
|
||||
this.host = host;
|
||||
|
||||
if(config.Length == 0) {
|
||||
// Try to load v2 provider configuration
|
||||
config = TryLoadV2Configuration();
|
||||
}
|
||||
|
||||
if(config == null || config.Length == 0) {
|
||||
// Try to load Settings Storage Provider configuration
|
||||
config = TryLoadSettingsStorageProviderConfiguration();
|
||||
}
|
||||
|
||||
if(config == null) config = "";
|
||||
|
||||
ValidateConnectionString(config);
|
||||
|
||||
connString = config;
|
||||
|
||||
CreateOrUpdateDatabaseIfNecessary();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Method invoked on shutdown.
|
||||
/// </summary>
|
||||
/// <remarks>This method might not be invoked in some cases.</remarks>
|
||||
public void Shutdown() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the Information about the Provider.
|
||||
/// </summary>
|
||||
public abstract ComponentInformation Information {
|
||||
get;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a brief summary of the configuration string format, in HTML. Returns <c>null</c> if no configuration is needed.
|
||||
/// </summary>
|
||||
public abstract string ConfigHelpHtml {
|
||||
get;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue