/// <summary>
        /// Initializes the job store from the given configuration element.
        /// </summary>
        /// <param name="element">The configuration element to initialize the job store from.</param>
        public override void Initialize(JobStoreElement element)
        {
            try
            {
                base.Initialize(element);
            }
            catch (ConfigurationErrorsException)
            {
            }

            SQLiteConnectionStringBuilder builder = !string.IsNullOrEmpty(ConnectionString)
                ? new SQLiteConnectionStringBuilder(ConnectionString)
                : new SQLiteConnectionStringBuilder("data source=BlueCollar.s3db;synchronous=Off;journal mode=Off;version=3");

            builder.DataSource = ResolveDatabaseFilePath(builder.DataSource);
            ConnectionString = builder.ToString();
            EnsureDatabase(builder.DataSource);
        }
 /// <summary>
 /// Initializes the job store from the given configuration element.
 /// </summary>
 /// <param name="element">The configuration element to initialize the job store from.</param>
 public override void Initialize(JobStoreElement element)
 {
 }
        /// <summary>
        /// Initializes the job store from the given configuration element.
        /// </summary>
        /// <param name="element">The configuration element to initialize the job store from.</param>
        public override void Initialize(JobStoreElement element)
        {
            base.Initialize(element);

            if (String.IsNullOrEmpty(this.ConnectionString) && element != null)
            {
                this.ConnectionString = Strings.ConfiguredConnectionString(element.Metadata);

                if (String.IsNullOrEmpty(this.ConnectionString))
                {
                    throw new ConfigurationErrorsException(@"Failed to find a connection string to initialze the job store with. Either you're missing the definition in blueCollar/store/metadata[key = ""ConnectionStringName""], or the name found does not identify a connection string under connectionStrings or appSettings.", element.ElementInformation.Source, element.ElementInformation.LineNumber);
                }
            }
        }
        /// <summary>
        /// Creates a new <see cref="IJobStore"/> instance.
        /// </summary>
        /// <param name="element">The configuration element to create the instance from.</param>
        /// <returns>The created <see cref="IJobStore"/>.</returns>
        public static IJobStore Create(JobStoreElement element)
        {
            IJobStore store = null;

            if (element != null && !String.IsNullOrEmpty(element.JobStoreType))
            {
                store = (IJobStore)Activator.CreateInstance(Type.GetType(element.JobStoreType));
            }
            else
            {
                store = new MemoryJobStore();
            }

            store.Initialize(element);
            return store;
        }
 /// <summary>
 /// Initializes the job store from the given configuration element.
 /// </summary>
 /// <param name="element">The configuration element to initialize the job store from.</param>
 public virtual void Initialize(JobStoreElement element)
 {
 }